有点时候我们需要在listview上绘制一些自定义的界面,那么这时候原生的点击高亮就显得很多余。 {<1>}
###解决方案
放狗去网上搜了一圈之后发现可以通过修改listview的配置进行去除。
原来的代码:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:background="#fff"
修改后的代码:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:background="#fff"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
/>
###分析
我们可以在AbsListView的文档中可以看到:
- listSelector 用来标识当前选中的item
- cacheColorHint ListView绘制的背景色。这儿背景色和listview的background是两个东西,cacheColorHint是在在ListView优化的绘制的时候使用的。