Проблема заполнения PreferenceFragmentCompat с @style/PreferenceThemeOverlay
При использовании PreferenceThemeOverlay по умолчанию из библиотеки поддержки preference-v7 (версия 23.1.0) я столкнулся со следующей проблемой. Начиная с API 22, у моего PreferenceFragmentCompat были добавлены уродливые дополнительные отступы слева и справа от моего списка предпочтений.
build.gradle:
compile 'com.android.support:appcompat-v7:23.1.0'
styles.xml:
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
После того, как я не нашел никакого полезного решения для stackru, я написал обходной путь самостоятельно. Я просто хотел поделиться с вами, ребята.
1 ответ
Решение
Кажется, что заполнение по умолчанию существует для 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>