当需要给Button或者TextView的文字设置跟随状态变化的时候,需要新建一个selector的drawable来达到效果:
title_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/txt_blue"/>
<item android:state_enabled="false" android:color="@color/white"/>
</selector><androidx.appcompat.widget.AppCompatButton
android:id="@+id/title_btn"
android:gravity="center"
android:textColor="@drawable/distribution_door_txt_color"/>但是设置后一直没有效果,最后发现<item android:state_enabled="false" android:color="@color/white"/>这句话需要放到selector的第一个位置。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/white"/>
<item android:color="@color/txt_blue"/>
</selector>
在Android开发中,通过创建一个selectordrawable来改变Button或TextView的文字颜色以响应状态变化。当遇到设置无效的情况,问题可能在于state_enabled为false的item需放在selector的首位。修正后的XML布局文件正确显示了文本颜色的变化。
4070

被折叠的 条评论
为什么被折叠?



