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之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

今天我们来模仿一下支付宝钱包首页中带有分割线的GridView,俗称九宫格。先上图,是你想要的效果么?如果是请继续往下看。 博主在做这个效果之前,也参考了其他的一些方案,比如说定义一个自定义的Grid...

android GridView设置边框教程

有图有真相!下面推荐内容排版就是使用的GridView,看到边框了没??呵呵,接着上核心代码!   test.xml 布局文件,这个布局为GridView的每个项的布局。   ? ...

GridView的边框效果

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

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

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

巧用CSS解决GridView样式边框的问题

今天用GridView控件时候,生成表格的内边框老是去除不了..上网查了下,就设置GridLines="None"最好用,哈哈! 另外还有Css的解决方案 html标签中的bordercolor属性指...

android GridView设置边框教程!

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

android: ListView,及数据库操作,模拟实现 联系人功能

android: 模拟实现 联系人 前边包含一个头像图标,右侧是姓名 电话 既简单介绍,点击下方 添加联系人 添加,单击item显示电话 长按显示 编辑和 删除,删除之前有 提示是否删除  如图 ...

Android 实现对话框圆角功能

Android 实现自定义dialog圆角功能    刚接触公司的Android项目,客户画好了界面,需求如下:                          弹出的窗口是要四个圆角,并且标...

GridView边框效果

  • 2011年12月28日 16:43
  • 954KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GridView边框效果
举报原因:
原因补充:

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