如何设置 PreferenceFragmentCompat 的样式
Posted
技术标签:
【中文标题】如何设置 PreferenceFragmentCompat 的样式【英文标题】:How to style PreferenceFragmentCompat 【发布时间】:2016-03-17 03:49:46 【问题描述】:我使用的是PreferenceFragmentCompat
,但我认为它的样式不正确。
Preferences 的标题似乎太大了,PreferenceCategory 文本不可读,整个想法似乎都错了。
这就是我在 theme.xml 中的内容
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
</style>
<style name="PreferenceThemeOverlay">
<item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
<item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
<item name="preferenceCategoryStyle">@style/Preference.Category</item>
<item name="preferenceStyle">@style/Preference</item>
<item name="preferenceInformationStyle">@style/Preference.Information</item>
<item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference</item>
<item name="switchPreferenceCompatStyle">@style/Preference.SwitchPreferenceCompat</item>
<item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item>
<item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference
</item>
<item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>
</style>
【问题讨论】:
chris.banes.me/2014/11/12/theme-vs-style 请参阅***.com/a/52960668/4310905,了解一次修复所有首选项的解决方案 【参考方案1】:关注this。
改变
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
到
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
然后,更改 build.gradle
依赖项
com.android.support:preference-v7
到
com.android.support:preference-v14
【讨论】:
此方案不支持 SDK 我认为,com.android.support:preference-v14 应该是对 com.android.support:preference-v7 的补充,它不是这里解释的替代品:link以上是关于如何设置 PreferenceFragmentCompat 的样式的主要内容,如果未能解决你的问题,请参考以下文章