最近开发出现了selector设置选中切换效果无效问题,在这里记录一下
需求:RadioButton选中状态变化后,背景和文字都会相应的改变
代码如下
<RadioButton
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/selector_btn"
android:checked="true"
android:text="测试"
android:textColor="@drawable/selector_btn" />
selector文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#8C603B" android:drawable="@drawable/shape_cffffff_3" android:state_checked="false" />
<item android:color="#F77F24" android:drawable="@drawable/shape_cff0000_3" android:state_checked="true" />
</selector>
代码很简单,就是RadioButton被选中后背景会使用shape_cff0000_3资源,文字会变成#F77F24颜色
预览没问题,真机运行后发现文字会变色,背景不变色
找了很久最终发现了问题,问题出现在Selector文件中,只需要把颜色替换成资源文件颜色即可
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/c_8C603B" android:drawable="@drawable/shape_cffffff_3" android:state_checked="false" />
<item android:color="@color/c_F77F24" android:drawable="@drawable/shape_cff0000_3" android:state_checked="true" />
</selector>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)