How to change the text color of PreferenceCategory/PreferenceScreen
Asked Answered
J

2

9

Here is the:

preferences.xml

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

    <PreferenceCategory
        android:key="@string/pref_basicsettings_key"
        android:title="@string/pref_basicsettings_title" >
        <CheckBoxPreference
            android:defaultValue="@string/pref_test1_default"
            android:key="@string/pref_test1_key"
            android:summary="@string/pref_test1_dlg"
            android:title="@string/pref_test1_title" />
        <CheckBoxPreference
            android:defaultValue="@string/pref_test2_default"
            android:key="@string/pref_test2_key"
            android:summary="@string/pref_test2_dlg"
            android:title="@string/pref_test2_title" />
    </PreferenceCategory>
</PreferenceScreen>

BasicSettingsActivity.java

public class BasicSettingsActivity extends PreferenceActivity {

    public static final String TAG = BasicSettingsActivity.class
            .getSimpleName();

    /** Called when the activity is first created. */
    @SuppressWarnings("deprecation")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        prefs.registerOnSharedPreferenceChangeListener(mSharedPreferenceListener);

        // add preference resource
        addPreferencesFromResource(com.testapp.R.xml.basic_settings);
    }
}

How do I change the text color in PreferenceCategory?

Jesus answered 21/6, 2016 at 3:25 Comment(0)
J
17

I added a new style:

<style name="PreferenceScreen" parent="Theme.AppCompat">
    <item name="android:textColor">#ffffff</item>
    <item name="android:textColorPrimary">#ffffff</item>
    <item name="colorPrimary">#ff0000</item>
    <item name="colorPrimaryDark">#ff0000</item>
    <item name="colorAccent">#ff0000</item>
    <item name="android:background">#CCCCCC</item>
</style>

and included it in the activity:

<activity android:name="com.smartipcamera.owlcam.ui.BasicSettingsActivity"
    android:theme="@style/PreferenceScreen" >
</activity>
Jesus answered 18/7, 2016 at 20:37 Comment(1)
Don't you know how to make this colors also change if element depends on other element and an is unactive? I have same problem with preference screen customizationJaw
K
2

add a new style

<style name="SettingStyle">
    <item name="android:background">#FFFFFF</item>
    <item name="android:textViewStyle">@style/PreferenceStyle</item>
</style>
<style name="PreferenceStyle" parent="android:Widget.TextView">
    <item name="android:textColor">#000000</item>
</style>

and include it in the Preference activity.

public class SettingsActivity extends AppCompatActivity {

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.setting);

    setTheme(R.style.SettingStyle);
    ....

}
Kopp answered 7/10, 2016 at 15:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.