android selector 使用中常见的问题

  • 最近使用selector 遇到一点令人哭笑不得问题,在使用selector
    做点击切换图片的时候刚开始怎么设置都不起作用,刚开始还以为是图片的原因,尝试了各种icon之后依然无效,在绝望之际经大神指点才突然想起来selector
    顺序执行的 之前的代码是这样的(写完代码习惯性的格式化了一下)。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    //这是错误用法
    <item android:drawable="@drawable/home_more" />
    <item android:drawable="@drawable/home_more_" android:state_selected="true" />
    <item android:drawable="@drawable/home_more_" android:state_pressed="true" />
    <item android:drawable="@drawable/home_more_" android:state_focused="true" />
</selector>

由于selector 是顺序执行的 执行完第一句后不再往后执行了 所以无论怎么点击获取焦点等都无效,


下边是正确的写法顺序,selector 是顺序执行的 默认状态要放在最后执行

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    //这是正确用法
    <item android:drawable="@drawable/home_more_" android:state_selected="true" />
    <item android:drawable="@drawable/home_more_" android:state_pressed="true" />
    <item android:drawable="@drawable/home_more_" android:state_focused="true" />
    <item android:drawable="@drawable/home_more" />

</selector>

掌握的知识点:selector 是顺序执行的(一不注意就会犯这个低级错误,特在此记录下来)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值