在我的应用程序中,我首先使用不支持库创建Geometry
:
PreferenceFragment
但后来我决定使用支持库,因为我已经在整个应用程序中使用了支持片段,并认为这将更加一致
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the fragment as the main content.
FragmentManager mFragmentManager = getFragmentManager();
FragmentTransaction mFragmentTransaction = mFragmentManager
.beginTransaction();
PrefsFragment mPrefsFragment = new PrefsFragment();
mFragmentTransaction.replace(android.R.id.content, mPrefsFragment);
mFragmentTransaction.commit();
}
public static class PrefsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preference_screen);
}
}
并添加样式文件,因为它没有我的工作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the fragment as the main content.
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentTransaction mFragmentTransaction = mFragmentManager
.beginTransaction();
PrefsFragment mPrefsFragment = new PrefsFragment();
mFragmentTransaction.replace(android.R.id.content, mPrefsFragment);
mFragmentTransaction.commit();
}
public static class PrefsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
// Load the preferences from an XML resource
setPreferencesFromResource(R.xml.preference_screen, rootKey);
}
}
Here's what the PreferenceFragmentCompat looks like
是否有可能在<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
中获得相同的风格,似乎我的变化不大,但风格完全不同。
还有一个问题?这会影响我的所有片段吗?我从来没有使用过非支持片段,所以如果我忽略了支持片段,我就不会知道我是否会错过更好的风格。
修改更新:解决方案是将首选项主题项更改为PreferenceFragmentCompat
而不是
答案 0 :(得分:1)
试试这个:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style>