Изменить цвет на разделители между группами настроек - PullRequest
0 голосов
/ 11 мая 2019

Файл моих предпочтений.xml выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<android.support.v7.preference.PreferenceCategory
    android:key="themeCategoryKey"
    android:title="Theme">

    <SwitchPreferenceCompat
        android:key="themeKey"
        android:title="Turn on dark theme" />

</android.support.v7.preference.PreferenceCategory>

<android.support.v7.preference.PreferenceCategory
    android:key="locationKeyCategory"
    android:title="Location">

    <EditTextPreference
        android:name="EditText Preference2"
        android:key="locationKey"
        android:summary="Enter default location for home screen"
        android:title="Location" />

</android.support.v7.preference.PreferenceCategory>

</PreferenceScreen>

Я пытаюсь добиться изменения цвета разделителей между группами предпочтений.Мне это нужно, потому что, когда я меняю цвет темы с темного на какой-то светлый, с белым цветом фона, разделители не заметны, потому что они белые, хотя разделители заметны в темной теме, потому что цвет фона черный.В следующем разделе я предоставил style.xml.

<resources>

<!-- Dark Theme -->
<style name="BlackTheme" parent="Theme.AppCompat">
    <item name="colorPrimaryDark">@color/backgroundDarkTheme</item>
    <item name="colorPrimary">#171717</item>
    <item name="colorAccent">@color/colorAccentDarkTheme</item>
    <item name="android:windowBackground">@color/colorPrimaryDarkerDark</item>
    <item name="android:itemBackground">@color/colorPrimaryDarkerDark</item>
    <item name="android:textColor">@color/textColorDarkTheme</item>
    <item name="android:divider">@null</item>
</style>

<!-- Orange Theme Default One -->
<style name="OrangeTheme" parent="Theme.AppCompat">  <!-- this is light theme -->
    <item name="colorPrimaryDark">#e95304</item>
    <item name="colorPrimary">@color/colorAccentOrangeTheme</item>
    <item name="colorAccent">@color/colorAccentOrangeTheme</item>
    <item name="android:windowBackground">@color/backgroundOrangeTheme</item>
    <item name="android:itemBackground">@color/toolbarItemBackgroundLight</item>
    <item name="android:itemTextAppearance">@style/menu_item_color</item>
    <item name="android:textColor">@color/textColorOrangeTheme</item>
    <item name="android:textColorSecondary">@color/textColorOrangeTheme</item>
    <item name="android:divider">@color/textColorOrangeTheme</item>  <!-- this is black color btw -->
</style>

<!-- Menu Item Text Color Orange Theme -->
<style name="menu_item_color">
    <item name="android:textColor">@color/backgroundOrangeTheme</item>
</style>

</resources>

Здесь я попробовал это, но безуспешно.

  <item name="android:divider">@color/textColorOrangeTheme</item>

Надеюсь, вы, ребята, понимаете, что я планирую сделать и как я могу достичь своей цели.Для тех из вас, кто точно не знает, какие именно разделители я хотел стилизовать, картинка ниже

enter image description here

Вот изображение без разделителя

enter image description here

1 Ответ

2 голосов
/ 11 мая 2019

Не могли бы вы попробовать это вместо «OrangeTheme» в вашем файле styles.xml.Это работает для меня, просто проверьте, если это то, что вам нужно?

<style name="OrangeTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimaryDark">#e95304</item>
        <item name="colorPrimary">@color/colorAccentOrangeTheme</item>
        <item name="colorAccent">@color/colorAccentOrangeTheme</item>
        <item name="android:itemTextAppearance">@style/menu_item_color</item>
        <item name="android:textColor">@color/textColorOrangeTheme</item>
        <item name="android:textColorSecondary">@color/textColorOrangeTheme</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
    </style>
...