10

I'm using a PreferenceFragmentCompat, but I don't think it is styled correctly.

enter image description here

Preferences' title seems way to big, PreferenceCategory text is unreadable, the whole think seems off.

This is what I have in 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>
Harikrishnan
  • 7,765
  • 13
  • 62
  • 113
David Corsalini
  • 7,958
  • 8
  • 41
  • 66

1 Answers1

30

Following this.

Change

<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>

to

<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>

Then, change in build.gradle dependencies

com.android.support:preference-v7

to

com.android.support:preference-v14
David Corsalini
  • 7,958
  • 8
  • 41
  • 66
  • 1
    This solution does not support SDK < 14. – Trancer Oct 06 '16 at 13:57
  • I think that, com.android.support:preference-v14 should be an addition to com.android.support:preference-v7 It is not a replacement as explained here: [link](https://medium.com/@JakobUlbrich/building-a-settings-screen-for-android-part-1-5959aa49337c) – Fatih K. May 15 '18 at 08:01