1. 应用场景
Selector用于button和ListView在各种状态下的样式显示,俗称:背景选择器。
2.属性说明
Selector主要 标签是 item,item内有许多的属性,现在就其常用的做一个说明。
*android:drawable 必须属性,为控件指定资源*
*android:state_pressed ture指用户点击或触摸改控件时的状态,默认为false*
*android:state_focused true当前控件获取焦点时的状态,默认为false*
*android:state_hovered true当鼠标移动到控件上时的状态,默认为false*
*android:state_selected true表示被选中时的状态*
*android:state_checkable true表示被勾选时的状态,注意这个属性只有当控件具备勾选功能时才能其作用如:checkbox*
*android:state_enabled true表示当前控件处于可以被使用的状态,如:button可以被点击*
*android:state_activated true表示当前控件被激活时的状态*
*android:state_window_focused true表示当前控件处于最前端时,应用窗口被激活时的状态*
3.应用Selector
selector应用非常简单,一般分为XML中引用,和CODE引用。我以一个小例子加以说明:页面上放置了 一个button,当button没有被点击时为蓝色,点击后变为灰色。
下面是在Drawable文件夹下创建名为btn_selector.xml的文件中的内容:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="false" android:drawable="@android:color/holo_blue_dark"></item>
<item android:state_pressed="true" android:drawable="@android:color/darker_gray"></item>
</selector>
XML中可以这么引用:
<Button
android:id="@+id/btn_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="40dp"
***android:background="@drawable/btn_selector"***
android:text="selector试例" />
CODE中这么 引用:
button.setBackground(getResources().getDrawable(R.drawable.btn_selector));
这是一个简单示例,效果 图就不给了 。