2

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

构建.gradle:

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

样式.xml:

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

在此处输入图像描述

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

4

1 回答 1

5

似乎 API < 22 设备的默认填充存在,但 API >= 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>
于 2015-10-18T12:39:06.450 回答