Autore Topic: Cambiare Settings Preferences backgroundColor  (Letto 367 volte)

Offline wlf

  • Utente normale
  • ***
  • Post: 367
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Cambiare Settings Preferences backgroundColor
« il: 04 Febbraio 2015, 18:29:45 CET »
0
Salve ragazzi, vorrei cambiare le SettingsPreferences.

Il file XML delle SettingsPreferences è quello sottostante:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
 <PreferenceCategory android:title="My list of Preferences">
  <CheckBoxPreference android:title="Checkbox Preference"
  android:defaultValue="false" android:summary="This preference can be true or false"
  android:key="checkboxPref" />
  <EditTextPreference android:name="EditText Preference"
  android:summary="This allows you to enter a string"
  android:defaultValue="Nothing" android:title="Edit This Text"
  android:key="editTextPref" />
  <RingtonePreference android:name="Ringtone Preference"
  android:summary="Select a ringtone" android:title="Ringtones"
  android:key="ringtonePref" />
  <PreferenceScreen android:key="SecondPrefScreen"
  android:title="Secondary Level" android:summary="This is a sub PreferenceScreen">
  <EditTextPreference android:name="EditText Preference"
  android:summary="This allows you to enter a string"
  android:defaultValue="Nothing" android:title="Edit This Text"
  android:key="editTextPref2" />
  </PreferenceScreen>
  <Preference android:title="Custom Preference"
  android:summary="This works almost like a button" android:key="customPref" />
 </PreferenceCategory>
</PreferenceScreen>

L'activity che le gestisce è la seguente:

Codice: [Seleziona]
public class SettingsActivity extends Activity {
 
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Setto colore sfondo
        getWindow().getDecorView().findViewById(android.R.id.content).setBackgroundColor(getResources().getColor(R.color.miocolore));

        getFragmentManager().beginTransaction().replace(android.R.id.content,
    new PrefsFragment()).commit();
   
    }
 
 public static class PrefsFragment extends PreferenceFragment {
   
  @Override
  public void onCreate(Bundle savedInstanceState) {
   
   super.onCreate(savedInstanceState);
   addPreferencesFromResource(R.xml.preferences);
  }
 }
 
}

Mi cambia il colore delle SettingPreferences ma se tappo sulla "SecondPrefScreen" ho il colore di base. :(
Ho provato a mettere il setBackgroundColor() come quello sopra nella onCreateView() ma non mi funziona. :(

Inoltre anche quando vario qualsiasi preferenza le dialog non prendono il setBackgroundColor() che ho impostato, hanno il colore di sfondo di default. :(

Qualcuno ha idea di come si possa cambiare il backgroundColor di tutte le SettingsPreferences? Grazie. ;)