在我的应用中,我使用以下属性使用多个首选项,包括一些与依赖项相关的首选项:android:dependency="pref_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个属性上定义的颜色也会覆盖已禁用首选项的默认字体颜色:
首选项仍然被禁用,但显示的字体相反相反......
我搜索了默认的Holo Light样式和主题,但我不知道这个定义的位置以及为什么上面的样式会覆盖这些样式。
有没有人遇到过这个问题?
答案 0 :(得分:22)
您应该定义颜色状态列表并将其放在/ 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>