android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:verticalSpacing="35px" 

android:horizontalSpacing="5px" 

android:numColumns="auto_fit" 

android:columnWidth="100px" 

android:stretchMode="columnWidth" 

Android:gravity="center" />

@Override

public View getView(int position, View convertView, ViewGroup parent) {

if(convertView==null){

convertView=inflater.inflate(R.layout.grid_item,parent,false);

params = convertView.getLayoutParams();

params.height=(parent.getHeight()-10)/2;

convertView.setLayoutParams(params);

}

if(convertView.getHeight()==0){

params.height=(parent.getHeight()-10)/2;

convertView.setLayoutParams(params);

}

return convertView;

}

在Adapter中的getView方法中通过计算减去水平或数值距离,可以精确的控制一屏可以现实多少GridView Item


stretchMode:只有在指定了columnWidth的时候才会有作用,如果指定了stretchMode而没有给columnWidth的值,则item不显示,就是宽为0;

spacingWidth: 剩余的空间用来填空间隙(顶行开始显示item,最边上没有间隙)

spacingWidthUniform:剩余的空间用来填空间隙(所有的item居中显示,就是最边上也会有间隙)

columnWith:剩余的间隙用item的宽度去填充,就是item的宽度自动缩放

none:colunm不缩放,顶行开始显示

horizontalSpacing并不是第一优先级:就是如果设置的item宽度过大,会挤一块,并不会保证一个最小的间隙。

如果不指定stretchMode,默认情况下,item顶行显示,item的宽度会根据屏幕除掉horizontalSpacing之后的剩余宽度自动缩放,此时会保证horizontalSpacing所设置的值。

更多相关文章

  1. Android(安卓)EditText各种属性及作用
  2. Android系统自带样式
  3. Android(安卓)使用 TableLayout 布局拉伸宽度
  4. Android(安卓)textAppearance的属性设置及TextView属性详解
  5. Android:EditText 多行显示及所有属性
  6. Android突破六.textAppearance类
  7. android ImageView 宽度设定,高度自适应
  8. Android系统自带样式(android:theme)
  9. Android列表操作

随机推荐

  1. Android(安卓)studio 快捷键汇总
  2. 【原创】Android(安卓)性能优化(一)
  3. 浅析Kotlin——新Android官方语言
  4. Android(安卓)开发艺术探索读书笔记 6 --
  5. Android布局中LinearLayout的android:lay
  6. linux传统IPC和Binder的介绍
  7. 简单GLSurfaceView 动画,透明背景的实现。
  8. GreenDao 使用详解(入门篇)
  9. Android9.0 BroadcastReceiver案例分析附
  10. MacOS 10导入信任证书