SwitchPreferenceCompat On / Off动画导致左对齐

时间:2017-08-22 15:36:46

标签: android preferencescreen support-preference

当我触摸开关时,所有其他开关看起来都是正常的,如下所示: enter image description here 但刚刚触摸的开关左对齐如下: enter image description here 我使用以下库进行首选项屏幕:

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的行为方式相同。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我在片段中使用了PreferenceFragmentCompat。我猜这是以某种方式导致问题。无论如何,我已经将我的应用程序架构更改为更简单并解决了问题。