Android 在具有不同状态的选择器中根据主题更改文本颜色

Android 在具有不同状态的选择器中根据主题更改文本颜色,android,android-layout,Android,Android Layout,我试着根据我的主题改变颜色。我的文本视图正在使用不同状态的颜色选择器来启用和禁用,我想在此选择器中使用基于主题的颜色 我遵循了这个解决方案: 在我的视图中用作android:textColor的选择器如下所示: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:st

我试着根据我的主题改变颜色。我的文本视图正在使用不同状态的颜色选择器来启用和禁用,我想在此选择器中使用基于主题的颜色

我遵循了这个解决方案:

在我的视图中用作android:textColor的选择器如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:color="#ffffff" />
    <item android:state_enabled="false" android:color="?attr/ThemeTest"/>
</selector>
然后它工作,但我显然想这样做的基础上改变我的看法

有人了解这种行为并知道如何纠正它吗?提前谢谢

只有最新版本的Android才支持在颜色选择器XML文件中使用主题属性。要克服这个限制,您需要为每个主题创建一个颜色选择器文件,并用普通颜色填充它们。然后创建一个主题属性,该属性根据主题指向正确的颜色选择器

资料来源:


编辑:经过测试,工作完美无瑕

如果有人想知道;主题属性必须是引用类型,例如。
android:textColor="?ThemeTest"