11

在我的应用程序中,我使用了几个首选项,其中一些与使用以下属性的依赖项相关: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 样式和主题,但我不知道这是在哪里定义的,以及为什么上面的样式会覆盖这些样式。

有没有人已经遇到过这个问题?

4

1 回答 1

24

您应该定义一个颜色状态列表并将其放在 /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>
于 2013-06-15T11:31:46.780 回答