自定义胶囊状RadioButton文本颜色异常(显示粉色)的问题排查与解决咨询
问题原因与解决方案
嘿,我立刻就找到你遇到的文本变粉色的原因啦!核心问题出在你的radio_selector_text.xml里——你用错了属性!
错误根源
textColor属性对应的状态选择器,应该使用android:color来指定颜色值,但你写成了android:drawable。当系统解析这个选择器时,它无法正确识别颜色资源,就会 fallback 到主题的默认强调色(通常是粉色,也就是?attr/colorAccent),这就是为什么你的文本变成了粉色。
修正后的代码
把radio_selector_text.xml里的android:drawable改成android:color就好了:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:color="@color/white" /> <item android:state_checked="false" android:color="@color/black_28" /> </selector>
额外检查点
如果修改后还是有问题,可以再检查这两点:
- 确认
@color/white和@color/black_28在你的colors.xml里确实定义了正确的颜色值 - 检查你的App主题是否有全局的
textColor或者radioButtonStyle设置,避免样式被覆盖
这样修改后,RadioButton的文本颜色就能按照你设定的黑色(未选中)和白色(选中)正常显示啦!
内容的提问来源于stack exchange,提问作者Ardityo Cahyo
相关产品推荐
相关产品推荐

