Android高级资源 StateListDrawable 资源

介绍

        StateListDrawable 资源是定义在 XML 文件中的 Drawable 对象,能根据状态来呈现不同的图像。例如,一个 Button 组件存在多种不同的状态(pressed、enabled 或 focused 等),使用 StateListDrawable资源可以为按钮的每个状态提供不同的按钮图片。StateListDrawable资源在实际开发中用处很多,例如,今日头条中选择登录方式的按钮,效果如图 13.10 所示。

 常用XML属性

状态属性描述
android:state_active表示是否处于激活状态,属性值为 true 或 false
android:state_checked表示是否处于选中状态,属性值为 true 或 false
android:state_enabled表示是否处于可用状态,属性值为 true 或 false
android:state_first表示是否处于开始状态,属性值为 true 或 false
android:state_focused表示是否处于获得焦点状态,属性值为 true 或 false
android:state_last 表示是否处于结束状态,属性值为 true 或 false
android:state_middle表示是否处于中间状态,属性值为 true 或 false
android:state_pressed表示是否处于被按下状态,属性值为 true 或 false
android:state_selected表示是否处于被选择状态,属性值为 true 或 false
android:state_window_focused表示窗口是否已经得到焦点状态,属性值为 true 或 false

例子

在 res/rawable 目录中创建一个名称为 button_enable.xml 的 StateListDrawable 资源文件,在该文件中,指定 android:state_enabled 属性为 true 时使用的背景图片(green.png)和 android:state_enabled属性为 false 时使用的背景图片(green_mint.png)。button_enable.xml 文件的具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:drawable="@drawable/green" android:state_enabled="true"/>
	<item android:drawable="@drawable/green_mint" android:state_enabled="false"/>
</selector>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值