Как изменить ширину трека Android Switch?
Я с ума схожу с этой крошечной проблемой. У меня есть виджет формы "switch", но как бы я ни старался, я не могу сделать его более узким. Даже если у меня есть один символ вместо 'ON' или 'OFF', размер переключателя остается неизменным. Большой палец становится маленьким, но его нужно перетащить на прежнее расстояние. Изменение "layout_width" на меньшее значение просто отключает оставшуюся дорожку. "minWidth", похоже, ничего не делает.
Кто-нибудь знает, как я могу это сделать? В идеале я хочу просто пустой большой палец, и я буду красить код, чтобы узнать, что есть.
Код XML:
<Switch
android:id="@+id/switch3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch"
android:textOff=" "
android:textOn=" " />
Я получаю это: ![enter image description here]()
но я хочу что-то вроде этого:
![enter image description here]()
Ответы
Ответ 1
установите требуемую ширину переключателя в этом атрибуте.
андроида: switchMinWidth
как
<Switch
android:id="@+id/switchVisitAgain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="1dp"
android:checked="false"
android:gravity="center_vertical"
android:switchMinWidth="56dp"
android:textOff=""
android:textOn=""
android:thumb="@drawable/round_button"
android:track="@drawable/button_black" />
Спасибо,
bskania
Ответ 2
Вот мое решение. Я удалил тексты, установил прокладку дорожки и определил propMinWidth. Это мой xml:
<Switch
android:id="@+id/theSwitchId"
android:textOn=""
android:textOff=""
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumbTextPadding="5dp"
android:switchMinWidth="40dp"
android:layout_gravity="right|center_vertical" />
Надеюсь, это поможет кому-то.
Ответ 3
Вы должны использовать android:track
вместо android:thumb
.
Весь мой код:
<Switch
android:id="@+id/switch_security_tog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:background="@color/transparent"
android:button="@null"
android:textOff=""
android:textOn=""
android:thumb="@null"
android:switchMinWidth="56dp"
android:track="@drawable/thumb" />