listview是十分重要的控件,最近使用它有一点新体会。
1.取消原listview的item点击效果,用自己的背景图。这个是有默认效果的,AbsListView源码中这段代码,
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (mSelector == null) {
useDefaultSelector();
}
//...
}
如果设置了listSelector,那么会用自己设置的图片,这个图片用来所谓item被选定时显示的背景。
只需要在xml中加入android:listSelector="@drawable/filter_9_selected_bg"即可。
开始我的错误操作时这样的,设置了android:listSelector="#ffffffff",然后给item设置了这样的背景。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/filter_9_selected_bg"></item>
<!-- <item android:drawable="@color/white"></item> -->
</selector>
这样会引起一个listView凸出的问题,不建议这样处理。
2.取消或者选用自己的图片定义divider:
自己定义divider可以android:divider="@drawable/filter_spider_line"
不现实divider可以设置和list背景一样的背景色,或者在java代码中使用mListView.setDivider(null);
成长源于积累,最近一段时间会常常更新博客,也算是成长的经历。希望自己做到不人云亦云,透过现象看本质。