android - @style/PreferenceThemeOverlay 的 PreferenceFragmentCompat 填充问题

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

在使用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>

enter image description here

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

最佳答案

似乎 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>

关于android - @style/PreferenceThemeOverlay 的 PreferenceFragmentCompat 填充问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198014/

相关文章:

java - Android - 设置 ImageAdapter NullPointerException

android - 在 Android 上的 PreferenceFragmentCompat 中永远不会调用 onPreferenceStartScreen()

Android:在选中/取消选中其他 CheckBoxPreference 时显示/隐藏首选项

java - 如何修复 okhttp 客户端超时错误

android - 在 WebView 中加载 Facebook,表现怪异

android - React Native - 应用程序因自定义构建类型而崩溃

android - 设置 Android 背景和持久性菜单栏 - 在旧版本上使用属性会导致崩溃 - 是否有主题/模式方法?

android - 如何在 com.android.support :leanback-v17 中实现多于 2 级导航

android.support.v7.widget.Toolbar VectorDrawableCompat 使用支持库时出现 IllegalStateException 24+

android - 如何设置首选项标题的摘要