Android: горизонтальное выравнивание Switchcompat с обеих сторон
Я пытаюсь выровнять 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"/>
и вот результат
https://s tackru.com/images/d9c68c777d25f92d6f807153cb8ee320dc653896.png
Есть идеи, как это сделать?
1 ответ
Коммутаторы (вид границ коммутаторов, чтобы быть конкретными) в вашем изображении выровнены, как и ожидалось. Однако создается впечатление, что они не выровнены, потому что большой палец на самом деле немного выходит за пределы дорожки переключателя (все еще в пределах границ представления). Если вы хотите, чтобы большой палец и дорожка были выровнены с обеих сторон, вы можете создать собственный переключатель.
Примером может быть:
Создайте 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"/>
Вы получите что-то вроде:
Я знаю, что это не идеально с точки зрения дизайна, но вы поняли идею! Это показывает, что границы вида фактически выровнены как в отмеченном, так и в непроверенном состоянии.
Вы можете настроить его дальше, установив трек, большой палец и так далее...
Немного изменив фон и установив трек, вы можете получить что-то вроде:
Ура!