1.android:cacheColorHint
这个属性一般多用在自定义ListView或则GridView的时候
自定义listview,gridView的时候,当你不使用android:cacheColorHint=“#00000000”会出现下面选中一个空间黑色底色的情况
2.xml文件中使用到的gridView
<com.jarvis.MyView.MyGridView
android:id="@+id/gridView_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:numColumns="5"
android:paddingBottom="8dp"
android:paddingTop="10dp" >
</com.jarvis.MyView.MyGridView>
3.在对应的activity里面要准备的东西有:
a.gridView对象,
b.gridAdapter自定义的适配器
c.准备资源文件,数组类型的
private GridView my_gridView_user;
private Adapter_GridView adapter_GridView;
//资源文件
private int[] pic_path={R.drawable.user_3,R.drawable.user_4,R.drawable.user_5,R.drawable.user_6,R.drawable.user_7};
d.在initView里面找到gridView控件
f.设置adapter和监听事件
adapter_GridView=new Adapter_GridView(getActivity(), pic_path);//图标资源文件
my_gridView_user.setAdapter(adapter_GridView);
my_gridView_user.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {//如果这里面是当前的activity是fragment,这里面
//就用context跳转,
if (arg2 == 0) {
} else if (arg2 == 1) {
} else if (arg2 == 2) {
} else if (arg2 == 3) {
} else if (arg2 == 4) {
}
}
});
4.自定义adapter怎么写:
跟listView的写法一样的,首先需要搞个item布局,然后重载getView就行了
只不过这里给出的例子是:填充gridView的图片是定死的,也就是在资源文件中,如果想要从网络中动态加载的话,那就在activity里面异步进程请求网络数据,通过handler处理,再绑定给adapter就是一样的了
调用的本地的资源:holderView.iv_pic.setImageResource(data[position]);
调用的如果是网络的资源:
new ImageCache(context, lruCache, holderView.iv_pic, Constants.SERVER_IP_2+ imgurl,"filename",800, 400);