//三种方法加selector(改变ListView和Button控件的默认背景)
1.
Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);
listView.setSelector(drawable);
2.
ListView -- android:listSelector="@drawable/mylist_view"
3.
ListView的item界面 --- android:background="@drawable/mylist_view"
属性介绍:
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件
eg:
<!-- android:cacheColorHint="@android:color/transparent" 防止列表拉黑 -->
<ListView
android:listSelector="@drawable/mylist_view" //代码如下
android:cacheColorHint="@android:color/transparent"
android:id="@+id/id_listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
drawable/mylist_view.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/image1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/image1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/image2" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/image3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/image4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/image5" />
</selector>
ListView的背景渲染器selector
最新推荐文章于 2021-05-29 02:34:58 发布