android 控件不同状态 selector----drawable

先看代码

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize=["true" | "false"]
    android:dither=["true" | "false"]
    android:variablePadding=["true" | "false"] >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_hovered=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_activated=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>

android:state_pressed
// “true” 如果当物体按下此项目应使用(当被触摸一个按钮,如/点击); “false”,如果这个项目应该在默认使用,无压状态。

android:state_focused
// “true” 如果当物体具有输入焦点(当用户选择文本输入如)此产品的应用; “false”,如果这个项目应该在默认使用,非聚焦状态。

android:state_hovered
// “true” 如果当物体被徘徊由光标此产品的应用; “false”,如果这个项目应该在默认使用,非悬停状态。通常,这可拉伸可以是用于“聚焦”状态的相同可拉伸。在API级别14引入。

android:state_selected
// “true”,如果当物体是用一个方向控制导航时(通过与D-垫列表导航时如)当前用户选择此产品的应使用; “false”,如果当对象不选择此项目应该被使用。
// 所选择的状态时使用对焦(android:state_focused)是不够的(例如,当列表视图具有焦点,并在其中一个项目被选中了D-PAD)。

android:state_checkable
//”true”时,如果对象是可检查的这个项目应该使用; “false”时,如果对象不是可检查的这个项目应该被使用。(只有有用的,如果该对象可以一个可检查的和非可检查的小部件之间转换。)

android:state_checked
// “true”,如果该对象被选中时,这个项目应该使用; “false”,如果它当对象是应使用未检查。

android:state_enabled
// “true”,如果当对象启用此功能,应使用(能接收触摸/点击事件); “false”,如果当物体被禁用它应该被使用。

android:state_activated
// “true” 是否应该使用这个项目时,该对象的持久选择激活(如“亮点”以前选择列表中的一个持久的导航视图项目); “false”,如果它时,应使用的对象不被激活。
Introduced in API level 11.

android:state_window_focused
// “true”,如果这个项目时,应使用应用程序窗口具有焦点(应用程序在前台),”false”,如果这个项目时,应使用应用程序窗口不具有焦点(例如,如果通知栏拉下来,或者出现一个对话框)。

XML file saved at res/drawable/button.xml:

<?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/button_pressed" /> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- focused -->
    <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- hovered -->
    <item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>

This layout XML applies the state list drawable to a Button:

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/button" />

原文:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值