You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android XML选择器中设置alpha?解决禁用图标变灰的异常问题

解决Selector设置Alpha时的NumberFormatException问题

嘿,我一眼就发现你代码里的问题啦!你的XML语法写错了——你把android:alpha属性放在了<item>标签的外部,而不是作为标签的属性直接写在标签内部。系统会把标签里的文本内容当成资源ID去解析,自然就抛出NumberFormatException了。

正确的Selector写法

把android:alpha移到<item>标签的属性里,像这样:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:alpha="0.5" />
    <item android:state_enabled="true" android:alpha="1.0" />
</selector>

更简洁的写法

其实你还可以省略android:state_enabled="true"的item,因为Selector会默认匹配最后一个未指定状态的item,简化后代码如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:alpha="0.5" />
    <item android:alpha="1.0" />
</selector>

这样修改后,当图标未启用时就会自动置灰,启用时恢复正常透明度,也不会再抛出异常啦!

内容的提问来源于stack exchange,提问作者Peri Hartman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:27:14