2017-03-08 49 views
-1

我的手機是Android 6.0,但preferencefragment將混合設計與全息和材質設計結合在一起。 我想改變它的設計來完美的材料設計。 但我無法改變它。PreferenceFragment在Android 6.0中有holo設計

My PreferenceFragment java代碼。 我用android.support.v7.preference.PreferenceFragmentCompat

public class AboutFragment extends PreferenceFragmentCompat { 

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

回答

0

你可以嘗試在你的build.gradle添加此LIB:

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

編輯:

在樣式添加此.xml文件:

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

</style> 

並定義您的PreferenceTheme:

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

但是在您的代碼中,您使用的是v7版本,v14僅用於材料設計支持。

希望這會有所幫助。

+0

當我使用它並編輯java代碼到'import android.support.v14.preference.PreferenceFragment;'時,我可以看到這個錯誤。 java.lang.NullPointerException:嘗試在空對象引用上調用虛擬方法'java.lang.Class java.lang.Object.getClass()' – iceuser

+0

查看我的編輯是否有幫助。 – Cochi

+0

哦謝謝我解決了它! – iceuser