Android: горизонтальное выравнивание Switchcompat с обеих сторон - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь выровнять 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"/>

и вот результат

enter image description here

Есть идеи, как это сделать?

1 Ответ

0 голосов
/ 16 декабря 2018

Коммутаторы (вид границ коммутаторов, чтобы быть конкретными) в вашем изображении выровнены, как и ожидалось.Однако создается впечатление, что они не выровнены, потому что большой палец на самом деле немного выходит за пределы дорожки переключателя (все еще в пределах границ представления).Если вы хотите, чтобы большой палец и дорожка были выровнены с обеих сторон, вы можете создать собственный переключатель.

Примером может быть:

Создайте 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"/>

Вы получите что-то вроде:

enter image description here

Я знаю этоне идеально с точки зрения дизайна, но вы поняли идею!Это показывает, что границы вида фактически выровнены как в отмеченном, так и в непроверенном состояниях.

Вы можете настроить его дополнительно, установив дорожку, большой палец и т. Д. ...

При настройке фона aНемного и установив трек вы можете получить что-то вроде:

enter image description here

Ура!

...