Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义首选项主题_Android_Android Theme_Android Preferences - Fatal编程技术网

Android 自定义首选项主题

Android 自定义首选项主题,android,android-theme,android-preferences,Android,Android Theme,Android Preferences,我目前正在尝试自定义首选项部分的颜色。但是我不知道怎么做 在我的应用程序中,我有两个主题:黑暗主题和光明主题。这是用户选择的一个选项。在我的主要活动中,我设置了用户选择的主题 在我使用attr定义要显示的颜色之后 但在我看来,我不知道如何继续。我读到我必须创建新样式,在其他线程中,解决方案是创建我的自定义listPreference。。。最好的方法是什么? 这里是黑暗主题: 例如,“年份构成”和“组”被禁用,所以我想显示它(更改禁用字段的颜色) 当前列表首选项: 这里我想要一个深色的背景 代码

我目前正在尝试自定义首选项部分的颜色。但是我不知道怎么做

在我的应用程序中,我有两个主题:黑暗主题和光明主题。这是用户选择的一个选项。在我的主要活动中,我设置了用户选择的主题

在我使用attr定义要显示的颜色之后

但在我看来,我不知道如何继续。我读到我必须创建新样式,在其他线程中,解决方案是创建我的自定义listPreference。。。最好的方法是什么? 这里是黑暗主题: 例如,“年份构成”和“组”被禁用,所以我想显示它(更改禁用字段的颜色)

当前列表首选项:

这里我想要一个深色的背景

代码: style.xml

<resources>

    <!-- theme clair  -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">

        <!-- Color -->
        <item name="colorAppBarAndDrawer">@color/colorAppBarAndDrawerLight</item>
        <item name="colorBackground">@color/colorBackgroundLight</item>
        <item name="colorText">@color/colorTextLight</item>
        <item name="colorTextSecondary">@color/colorTextSecondaryLight</item>
        <item name="colorItem">@color/colorItemLight</item>

        <!-- images -->
        <item name="iconRefresh">@drawable/ic_refresh_black_24dp</item>
        <item name="iconFirstPage">@drawable/ic_first_page_black_24dp</item>
        <item name="iconSchedule">@drawable/ic_schedule_black_24dp</item>

        <!-- menu -->
        <item name="android:actionMenuTextColor">@color/colorTextLight</item>
        <item name="android:textColorSecondary">@color/colorTextSecondaryLight</item>

        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:textColor">@color/colorTextLight</item>



    </style>

    <!-- theme sombre -->
    <style name="AppThemeNight" parent="Theme.AppCompat.Light.DarkActionBar">

        <item name="colorAppBarAndDrawer">@color/colorAppBarAndDrawerDark</item>
        <item name="colorBackground">@color/colorBackgroundDark</item>
        <item name="colorText">@color/colorTextDark</item>
        <item name="colorItem">@color/colorItemDark</item>
        <item name="colorTextSecondary">@color/colorTextSecondaryDark</item>


        <!-- images -->
        <item name="iconRefresh">@drawable/ic_refresh_white_24dp</item>
        <item name="iconFirstPage">@drawable/ic_first_page_white_24dp</item>
        <item name="iconSchedule">@drawable/ic_schedule_white_24dp</item>

        <!-- menu -->
        <item name="android:actionMenuTextColor">@color/colorTextDark</item>
        <item name="android:textColorSecondary">@color/colorTextSecondaryDark</item>

        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>

        <item name="android:textColor">@color/colorTextDark</item>


    </style>

    <style name="PreferenceThemeOverlay.v14" parent="@style/PreferenceFixTheme.DayNight.NoActionBar">
    <!--<item name="android:background">?attr/colorAppBarAndDrawer</item>
    <item name="android:textColor">?attr/colorText</item>
    <item name="android:textColorSecondary">?attr/colorTextSecondary</item>-->

    <item name="colorAccent">#1976D2</item>

    </style>



    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />


</resources>

@彩色/彩色AppBar和抽屉灯
@彩色/彩色背景光
@彩色/彩色文本灯
@颜色/颜色文本二次光
@彩色/彩色项目灯
@可绘图/集成电路刷新黑色24dp
@可绘图/集成电路\u第一页\u黑色\u 24dp
@可抽出式/ic\U明细表\U黑色\U 24dp
@彩色/彩色文本灯
@颜色/颜色文本二次光
假的
真的
@彩色/彩色文本灯
@彩色/彩色AppBarandDrawerDark
@颜色/颜色背景暗
@颜色/颜色文本深色
@颜色/颜色项目深色
@颜色/颜色文本第二级暗
@可拔模/ic\U刷新\U白色\U 24dp
@可绘图/ic\U第一页\U白色\U 24dp
@可抽出式/ic\U明细表\U白色\U 24dp
@颜色/颜色文本深色
@颜色/颜色文本第二级暗
假的
真的
@颜色/颜色文本深色
#1976D2
正如我所说,我已经尝试了解决方案。我该怎么办

非常感谢 托马斯

编辑 我将preferenceActivity更改为preferenceActivityCompat,现在我可以更改开关按钮的颜色。在style.xml中,我添加了以下内容:

<style name="PreferenceThemeOverlay.v14" parent="@style/PreferenceFixTheme.DayNight.NoActionBar">
        <!--<item name="android:background">?attr/colorAppBarAndDrawer</item>
        <item name="android:textColor">?attr/colorText</item>
        <item name="android:textColorSecondary">?attr/colorTextSecondary</item>-->

        <item name="colorAccent">#1976D2</item>

    </style>

#1976D2

所以我没有找到真正的解决办法。我在Android Studio中使用了主题编辑器,并使用颜色选择器选择颜色。现在它起作用了。我不知道我是否应该把这篇文章写成“已解决”? 谢谢 托马斯