-1

我正在尝试在两侧对齐 android switchcompat,无论是选中还是未选中,但都没有成功。

<android.support.v7.widget.SwitchCompat
            android:id="@+id/switch1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:checked="true"
            android:clickable="true"
            android:layout_gravity="center_vertical"/>

这是结果

在此处输入图像描述

任何想法如何完成它?

4

1 回答 1

0

图像中的开关(具体的开关视图边界)按预期对齐。但是,它们看起来好像没有对齐,因为拇指实际上稍微超出了切换轨道(仍在视图边界内)。如果您希望拇指和轨道在两侧对齐,您可以创建自定义开关。

一个例子是:

创建 background.xml 如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
        android:drawable="@drawable/drawable1" />
    <item android:state_checked="false" android:drawable="@drawable/drawable2"/>
</selector>

将此设置为 Switch 的背景:

<android.support.v7.widget.SwitchCompat
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/background"/>

你会得到类似的东西:

在此处输入图像描述

我知道这在设计方面并不完美,但你明白了!这表明视图边界实际上在选中和未选中状态下都是对齐的。

您可以通过设置轨道,拇指等进一步自定义它......

在稍微调整背景并设置轨道时,您可以获得如下内容:

在此处输入图像描述

干杯!

于 2018-12-16T07:18:54.580 回答