android 控件背景selector item

本文介绍了Momo应用中按钮(btn_default.xml)的样式配置方法,详细解释了不同状态下按钮的资源选择逻辑,并概述了控件状态属性如pressed、focused等的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


btn_default.xml 来自于源代码陌陌中的drawable文件夹中,以下都是个人见解,如果谁发现什么错误,谢谢指正

<?xml version="1.0" encoding="utf-8"?>

<selector
  xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/btn_big_normal_disable" />

    <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/btn_big_normal_press" />
    <item android:state_enabled="false" android:drawable="@drawable/btn_big_normal_disable" />
    <item android:drawable="@drawable/btn_big_normal_normal" />

</selector>

这个文件的大概作用就是在控件的不同的状态的时候选择不同的资源

指定资源的语句是:

android:drawable="这里指定对应的资源"

下面介绍一下各种控件的各种状态

android:state_pressed 这个表示的是是否按下true or false

android:state_focused 聚焦状态 true or false

state_selected 选中状态

state_checkable 可选状态

state_checked 选中状态

state_enabled 可用状态

window_focused 窗口焦点状态可用

这些值都是boolean型的值,还有一点值得注意的是:这些是从第一个item开始匹配的,只要有符合要求的就会选择的

后面有符合要求的也会无效,所以第一个值匹配的范围要尽量小


参考文章:http://write.blog.youkuaiyun.com/postedit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值