您的位置:首页 > 移动开发 > Android开发

android res之selector

2015-08-18 18:14 471 查看

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));


这是一个简单示例,效果 图就不给了 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息