Как применить стиль / тему (материал) к предпочтениям в androidX? - PullRequest
0 голосов
/ 27 июня 2019

Я знаю, что это может быть дубликат, например

Применение темы AppCompat к отдельным настройкам в PreferenceFragment

Я использовал это видео на YouTube: https://www.youtube.com/watch?v=PS9jhuHECEQ

И от devolper android это руководство: https://developer.android.com/guide/topics/ui/settings

для построения моих предпочтений.На данный момент моя библиотека настроек:

реализация 'androidx.preference: preference: 1.1.0-beta01'

Так что теперь я хочу применить мой apptheme к моемунастройки предпочтений ...

Я получил это в моем manifest.xml

    <application
        android:name=".XXXApplication"
        android:allowBackup="false"
        android:label="@string/W_APP_NAME"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">

        <activity
            android:name=".Views.MainActivity"
            android:label="@string/W_APP_NAME"
            android:screenOrientation="landscape"
            android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

Мой styles.xml

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

        <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>

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

Теперь у меня есть root_preferences.xml, который содержитнесколько других предпочтений, таких как:

root_preferences.xml

<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <Preference
            app:title="@string/N_CAM_ITEM"
            app:summary="@string/P_CAMERA_SETTINGS"
            app:icon="@drawable/ic_menu_camera"
            app:fragment="com.example.XXX.Views.CameraSettingFragment"/>

И есть также camera_preferences.xml, который также является PreferenceScreen, который содержит SwitchPreferences и так далее ...

Если я перехожу к настройкам, мой SettingsFragment называется ..

    public class SettingsFragment extends PreferenceFragmentCompat {

    @Override
    public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
        setPreferencesFromResource(R.xml.root_preferences, rootKey);

    }

Так чего мне не хватает, что моя тема / стиль не применяется к этим настройкам?Надеюсь, вы можете помочь мне с этим!

Обновление Как выглядят мои настройки enter image description here

Так что флажок и переключатель не отображаютсяцвета ... Должен быть какой-то основной оранжевый зеленый цвет

1 Ответ

0 голосов
/ 28 июня 2019

Как отметил @Louis в комментариях ColorAccent - это способ достижения цветных элементов в настройках предпочтений.Большое спасибо Луи!

...