当我触摸一个开关时,所有其他开关看起来都很正常,如下所示: 但刚刚触摸的开关左对齐,如下所示: 我正在使用以下库作为首选项屏幕:
com.android.support:preference-v14:25.3.0
使用这些样式:
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorPrimary</item>
<item name="preferenceTheme">@style/PrefTheme</item>
</style>
<style name="PrefTheme" parent="PreferenceThemeOverlay">
<item name="android:textSize">14sp</item>
</style>
XML 文件:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="prefscreen"
android:layout_width="match_parent"
>
<PreferenceCategory
android:title="@string/settings_general"
android:layout_width="match_parent"
android:gravity="right"
>
<SwitchPreferenceCompat
android:key="showNotif"
android:layout_width="match_parent"
android:gravity="right"
android:title="@string/settings_notif_menu"
android:summary="@string/settings_sub_notif_menu" />
</PreferenceCategory>
...
</PreferenceScreen>
如果我使用PreferenceThemeOverlay而不是自定义样式并不重要。我已经尝试过支持首选项 v7 和 v14。我错过了什么?
编辑:我注意到 CheckBoxPreference 的行为方式相同。