使用@ style / PreferenceThemeOverlay的PreferenceFragmentCompat填充问题

时间:2015-10-18 12:39:06

标签: android android-support-library preferencefragment preference-v7

在使用preference-v7支持库(版本23.1.0)中的默认PreferenceThemeOverlay时,我遇到了以下问题。从API 22开始,我的PreferenceFragmentCompat在我的首选项列表的左侧和右侧添加了一个丑陋的额外填充。

的build.gradle:

compile 'com.android.support:appcompat-v7:23.1.0'

styles.xml:

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

enter image description here

我在stackoverflow上找不到任何有用的解决方案后,我自己写了一个解决方法。我只是想与你们分享。

1 个答案:

答案 0 :(得分:5)

对于API&lt;似乎dafault填充是有的。 22个设备但不应出现在API&gt; = 22.这是我的修复:

这将进入styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light">

    ...

    <item name="preferenceTheme">@style/AppTheme.FixForPreferenceThemeOverlay</item>
</style>

<style name="AppTheme.FixForPreferenceThemeOverlay" parent="PreferenceThemeOverlay">
    <item name="preferenceFragmentListStyle">@style/AppTheme.FixForPreferenceFragmentList</item>
</style>
<style name="AppTheme.FixForPreferenceFragmentList">
    <item name="android:paddingLeft">0dp</item>
    <item name="android:paddingRight">0dp</item>
</style>