ssk ssk - 4 months ago 14
Java Question

How to change the text color of PreferenceCategory/PreferenceScreen

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?

ssk ssk
Answer

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>
Comments