@style/PreferenceThemeOverlay 的 PreferenceFragmentCompat 填充问题
PreferenceFragmentCompat padding issue with @style/PreferenceThemeOverlay
在使用 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>
在我没有在 Whosebug 上找到任何有用的解决方案之后,我自己编写了一个解决方法。我只是想和你们分享。
似乎默认填充适用于 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>
在使用 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>
在我没有在 Whosebug 上找到任何有用的解决方案之后,我自己编写了一个解决方法。我只是想和你们分享。
似乎默认填充适用于 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>