Android GridView组件如何去除四周的空隙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android GridView组件如何去除四周的空隙相关的知识,希望对你有一定的参考价值。

如题,GridView组件如何去除四周的空隙,使其充满父控件?默认四周留有较大的空隙,与周围的组件不和谐且非常不美观,请做过的朋友分享一下经验,谢谢!

设置GridView的android:listSelector属性

android:listSelector="@null"  设置后四周空隙就消除了

参考技术A android:background="#cccccc“ 设置表格整体的背景色

android:listSelector="@null" 去除系统默认的黄色背景
android:horizontalSpacing="1dp" 每一列直接的间隙

android:verticalSpacing="1dp" 每一行直接的间隙

在每一个表格对应的view上设置不同的背景色就能做出html table 有边框的效果了
参考技术B 在xml里有这个属性可以设置
android:horizontalSpacing
两列之间的间距。
android:numColumns
设置列数。
android:stretchMode
缩放模式。
android:verticalSpacing
两行之间的间距。追问

我不是要设置行或列的间距,而是要设置gridview控件和周围其他控件或者父控件的间距,试过margin_top或者padding_top都不行

追答

layout_width="fill_parent"
layout_height="fill_parent"

这个不久可以了

追问

没有用的,gridview四周无论怎样都有空隙,估计这个是去除不了的

追答

那是因为每个Item之间存在间距啊,你把android:horizontalSpacing android:verticalSpacing
都设成0看下

追问

一样的,我本来就没设,设为0也一样

参考技术C 用vs里面的css设置追问

汗,是Android里面的GridView控件

追答

是啊
对啊
也可以用css

追问

好吧,我还不会用这个,先谢谢了~

参考技术D android:listSelector="@android:color/transparent"

Android GridView去除自带边框点击效果去除右侧滚动条禁止上下滑动

一、去除自带边框点击效果:

 1 <com.example.gridview.MyGridView
 2             android:id="@+id/grid_upload_pictures"
 3             android:layout_width="0dp"
 4             android:layout_weight="2"
 5             android:paddingLeft="20dp"
 6             android:listSelector="@android:color/transparent"
 7             android:layout_height="wrap_content"
 8             android:horizontalSpacing="10dp"
 9             android:verticalSpacing="10dp"
10             android:numColumns="1"
11             android:stretchMode="columnWidth"/>

 

二、去除右侧滚动条

 1 package com.example.gridview;
 2 
 3 import android.content.Context;
 4 import android.util.AttributeSet;
 5 
 6 public class MyGridView extends android.widget.GridView {
 7     public MyGridView(Context context, AttributeSet attrs) {
 8         super(context, attrs);
 9     }
10 
11     public MyGridView(Context context) {
12         super(context);
13     }
14 
15     public MyGridView(Context context, AttributeSet attrs, int defStyle) {
16         super(context, attrs, defStyle);
17     }
18     //重写了GridView的onMeasure方法,使其不会出现滚动条
19     @Override
20     public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
21         int expandSpec = MeasureSpec.makeMeasureSpec(
22                 Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
23         super.onMeasure(widthMeasureSpec, expandSpec);
24     }
25 }

 

 

三、禁止上下滑动

 1 package com.example.gridview;
 2 
 3 import android.content.Context;
 4 import android.util.AttributeSet;
 5 
 6 public class MyGridView2 extends android.widget.GridView{  
 7   
 8     public HotKeyGridView(Context context, AttributeSet attrs, int defStyle) {  
 9         super(context, attrs, defStyle);  
10     }  
11   
12     public HotKeyGridView(Context context, AttributeSet attrs) {  
13         super(context, attrs);  
14     }  
15   
16     public HotKeyGridView(Context context) {  
17         super(context);  
18     }  
19   
20   
21     public boolean dispatchTouchEvent(MotionEvent ev) {  
22         if(ev.getAction() == MotionEvent.ACTION_MOVE){  
23             return true;//禁止Gridview进行滑动  
24         }  
25         return super.dispatchTouchEvent(ev);  
26     }  
27 }  

 

 

感谢:

http://blog.csdn.net/super11235/article/details/55050141

http://blog.csdn.net/go_to_learn/article/details/17761735

以上是关于Android GridView组件如何去除四周的空隙的主要内容,如果未能解决你的问题,请参考以下文章

怎么去掉GridView中包含的checkbox的边框

如何去除GridVIew的边框 从分析客户端入手

gridview在firefox中如何去除表格的边框只用borderwidth不行

gridview如何去掉外边框

Android GridView

第四周学习总结