2017-03-08 3 views
-1

Mein Handy ist Android 6.0, aber preferencefragment hat gemischte Design mit Holo und Material Design. Ich möchte sein Design zu einem perfekten Materialdesign ändern. Aber ich kann es nicht ändern.PreferenceFragment hat Holo Design in Android 6.0

Mein PreferenceFragment Java-Code. benutzte ich android.support.v7.preference.PreferenceFragmentCompat

public class AboutFragment extends PreferenceFragmentCompat { 

@Override 
public void onCreatePreferences(Bundle bundle, String s) { 
    addPreferencesFromResource(R.xml.pref_about_general); 
} 

Antwort

0

Können Sie versuchen, diese lib in Ihrem build.gradle hinzuzufügen:

compile 'com.android.support:preference-v14:24.2.1' 

EDIT:

Fügen Sie diese in Ihrem Stil .xml-Datei:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
     //below your own item    
     ... 
     <item name="preferenceTheme">@style/PreferenceTheme</item> 

</style> 

Und Ihre PreferenceTheme definieren:

<style name="PreferenceTheme" parent="@style/PreferenceThemeOverlay.v14.Material"> 
     <item name="colorAccent">@color/colorid</item> 
     <item name="android:textColorPrimary">@color/colorid</item> 
     <item name="android:textColorSecondary">@color/colorid</item> 
    </style> 

Aber in Ihrem Code verwenden Sie die v7-Version, die v14 ist nur für die Material-Design-Unterstützung.

Hoffe, das hilft.

+0

Wenn ich es benutze und Java-Code bearbeite, um 'android.support.v14.preference.PreferenceFragment; zu importieren', kann ich diesen Fehler sehen. java.lang.NullPointerException: Versuch, die virtuelle Methode 'java.lang.Class java.lang.Object.getClass()' für eine Nullobjekt-Referenz aufzurufen – iceuser

+0

Sehen Sie, ob meine Bearbeitung Ihnen hilft. – Cochi

+0

oh danke ich habe es gelöst! – iceuser

Verwandte Themen