GridView边框效果

原创 2012年03月21日 18:40:55

为GridView添加边框效果


1.自定义GridView的item样式:

grid_item.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <ImageView
        android:id="@+id/item_image"
        android:layout_width="115dp"
        android:layout_height="115dp"
        android:padding="8dp"
        android:background="@drawable/grid_selector" 
       />
</LinearLayout>

2.设置GridView item的背景:

grid_selector.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">    
    <item android:state_window_focused="false" 
        android:drawable="@drawable/grid_normal" />	
    <item android:state_selected="true"
        android:drawable="@drawable/grid_pressed" />     
    <item android:state_pressed="true"
        android:drawable="@drawable/grid_pressed" />
</selector>


3.设置GridView的listSelector为透明:

android:listSelector="@android:color/transparent"

4.自定义GridView的adapter:

import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class GridAdapter extends BaseAdapter {
	private Context mContext = null;
	private LayoutInflater inflater = null;
	private ArrayList<Drawable> drawableList = null;

	public GridAdapter(Context c) {
		this.mContext = c;
		this.inflater = LayoutInflater.from(mContext);
	}
	public void setDataSource(ArrayList<Drawable> list){
		this.drawableList = list;
	}
	public int getCount() {
		if(drawableList != null){
			return drawableList.size();
		}else{
			return 0;
		}
	}

	public Object getItem(int position) {
		return drawableList.get(position);
	}

	public long getItemId(int position) {
		return position;
	}

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

		ImageView imageView = new ImageView(mContext);
		if (convertView == null) {
			convertView = inflater.inflate(R.layout.grid_item, null);
			imageView = (ImageView) convertView.findViewById(R.id.item_image);
			imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
			convertView.setTag(imageView);
		} else {
			imageView = (ImageView) convertView.getTag();
		}
		imageView.setImageDrawable(drawableList.get(position));
		return convertView;
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

为GridView添加边框效果

为GridView添加边框效果 1.自定义GridView的item样式: grid_item.xml文件 [html] view plain copy ...

android GridView设置边框教程!

test.xml 布局文件,这个布局为GridView的每个项的布局。   ? 1 2 3 4 5 6 7 8 ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

GridView的边框效果

因为项目需求的原因需要实现这种效果,通过看android gallery模块源码了解到原来这种效果是通过selector实现的 在android:state_window_focused="fals...

android GridView设置边框教程。

最近这个项目要求读取新闻,或者审批投递。显示却要像网页一样。 说白了就是左侧的标题和右侧的内容一一对应的gridview的格式显示。 安卓才看了10多天而已。苦苦折磨,没有做出一个好效果。...

利用selector shape方式改变listView或者GridView的Item选中边框(代码中设置setSelector)

最近在项目中用到在ViewPager当中动态添加GridView,GridView的Item选中边框颜色与默认的不同,所以就参考了CSDN部分文章,完成了所实现的效果。 动态创建GridView及设置...

GridView内边框设置的问题

转载源自:http://www.cnblogs.com/AlexCheng/archive/2009/08/19/1549610.html 在使用GridView过程中遇到这样一个问题,设置Grid...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)