Android 禁用时,从属首选项显示错误的颜色字体

Android 禁用时,从属首选项显示错误的颜色字体,android,android-preferences,android-theme,android-styles,Android,Android Preferences,Android Theme,Android Styles,在我的应用程序中,我使用了几个首选项,其中一些首选项与使用以下属性的依赖项相关:android:dependency=“pref\u key” 基本上,未选中复选框时,将禁用以下所有其他首选项: 当我在自定义主题中设置回以下3行时,就会出现问题: <style name="AppThemeOrange" parent="@style/AppTheme"> <item name="android:textColorPrimary">@color/Orang

在我的应用程序中,我使用了几个首选项,其中一些首选项与使用以下属性的依赖项相关:
android:dependency=“pref\u key”

基本上,未选中复选框时,将禁用以下所有其他首选项:

当我在自定义主题中设置回以下3行时,就会出现问题:

<style name="AppThemeOrange" parent="@style/AppTheme">
        <item name="android:textColorPrimary">@color/OrangeMain</item>
        <item name="android:textColorSecondary">@color/OrangeDark</item>
        <item name="android:textColorTertiary">@color/OrangeLight</item>
(...)

@颜色/橙色
@颜色/橙色标记
@颜色/橙色灯光
(...)
在这3个属性上定义的颜色也会覆盖禁用首选项的默认字体颜色:

首选项仍然处于禁用状态,但显示的字体却与此相反

我搜索了默认的全息灯光样式和主题,但我不知道这是在哪里定义的,以及为什么上面的样式会覆盖这些样式


是否有人已经遇到此问题?

您应该定义一个颜色状态列表,并将其放入/res/color文件夹中

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_enabled="false" android:color="#FF00ff00"/>
    <item android:color="#FFff0000"/>
</selector>


谢谢你的建议,我正在尝试,但似乎
state\u disabled
是不可用的。是的,我刚刚找到了答案,我做了一个快速测试,它成功了,谢谢你的快速帮助!android:state\u enable应该是android:state_enabled@user2474562您必须创建一个名为color INDER res的文件夹,并将代码放入xml文件中。然后在主题中使用@color/name\u of_xml。例如
@color/name\u of_xml
确保没有定义“android:textColor”,否则这不起作用。