您的位置:首页 > 其它

GridView使用的技巧

2016-02-25 18:10 246 查看
今天用gridview遇到一个问题,看下图
<img src="http://img.blog.csdn.net/20160226093238343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
这样算是做出来了,但是不是我想要,图片之间的宽度感觉好宽,我想要的是图片上下左右的宽度一样,弄了好久出来了,
其实GridView,很好使用,下面是他的一下属性    
   android:columnWidth 设置列的宽度      
android:horizontalSpacing="5dp" 设置各元素见水平间距     
android:verticalSpacing="5dp"  设置各元素见垂直巨鹿       
android:numColumns="3"  设置列数        
android:stretchMode="columnWidth" 设置拉伸模式,(这里拉伸的是本身,)       
android:scrollbars="@null"/>  隐藏滚动条 或者android:scrollbars="none" 
基本也就这么多属性,  用到时候适配器建议用BaseAdapter  感觉这个最好用,
出现上面的原因,先贴下部分代码
                @Override		public View getView(int position, View convertView, ViewGroup parent) {			ImageView imageView;						if (convertView == null) {				 				//convertView = LayoutInflater.from(context).inflate(R.layout.my_information_item,null);				imageView = new ImageView(context);				//设置ImageView 对象布局				imageView.setLayoutParams(new GridView.LayoutParams(80,80));				//设置边界对整齐				imageView.setAdjustViewBounds(false);				//设置刻度类型				imageView.setScaleType(imageView.getScaleType().CENTER_CROP);				//设置间距				imageView.setPadding(5, 5, 5, 5);							}else {				imageView = (ImageView) convertView;			}			imageView.setImageResource(imgs[position]);				return imageView;		}			}
图片是动态添加的,想改变图片的大小还是要在java代码中,
imageView.setLayoutParams(new GridView.LayoutParams(80,80)); 这个就是关键,设置图片的长和宽都是80 ,而在xml中
有设置一行图片的具体个数
  <GridView        android:id="@+id/my_infor_picture"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:horizontalSpacing="5dp"        android:verticalSpacing="5dp"        android:numColumns="3"        android:stretchMode="columnWidth"        android:scrollbars="@null"/> 
例如这个设置3张图片 这样的话,设置的<pre name="code" class="html">android:verticalSpacing="5dp" 就会无效,系统等分三份,
要改的话就在java代码中把宽度设置为变量,
imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT,180));
这样的效果就会得到我们想要的。
不知道自己说的是否详细,有不知道大家可以再问。做好的效果图如下
<img src="http://img.blog.csdn.net/20160226093530438?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: