关于ListView、GridView的一些处理

来源:互联网 发布:飞思卡尔单片机与pic 编辑:程序博客网 时间:2024/06/04 18:49

属性:

cacheColorHint   高光缓冲色     低版本的    listview 按下会出现颜色   一般都会设置为  透明色

listSelector    选中条目的颜色      

如果不设置  默认为系统提供的状态选择颜色(可能为黄色)

如果不设置为 状态选择器,直接给个color值 的时候    你点击子条目后  该子条目会变成你设置的颜色   

如果设置为 状态选择器 为 pressed状态  后    你点击子条目  按下 和未按下的颜色   就是你选择器中所设置的 颜色

xml中设置的属性

android:cacheColorHint="#00000000"android:listSelector="@drawable/gridview_selector_color"
drawable中的状态选择器

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

color颜色值

<color name="transparent">#00000000</color><color name="gridview_click_color">#e3c9c5c5</color>


Listview   移动到指定的位置:

  listview .smoothScrollToPosition(position);   可让listview 平滑到指定的position


GridView:

一般布局中可能会用到的属性有: verticalSpacing-- 垂直间距    horizontalSpacing--水平间距




ListView  GridView 如果想实现   子条目点击  内容或者显示文字样式的改变

 需要在 adapter中   自己写个方法    例如:

 private int selection;

 public  void  setSelectionPosition(int selectionPosition){

    this.selectionPosition = selectionPosition;

    notifyDataSetChanged();

}

然后在getView方法中  进行判断:

   if(position == selectionPosition){

      //  选中改变后的样式

   }else{

      //  未选中的样式

   }


同样的道理  改变数据源 刷新适配器:

这里的  T  可以替换为自己的  Bean对象

private List<T> dataList;          // 这个集合的名字  要与getView中  所用的集合名字相同

public  void  setNewDataList(List<T> newDataList){

    this.dataList = newDataList;

    notifyDataSetChanged();

}



0 0
原创粉丝点击