Вы можете определить чертежи, которые используются для фона, и часть переключателя следующим образом:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
Теперь вам нужно создать селектор, который определяет различные состояния для вытягиваемого переключателя. Вот копии из источников Android:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_thumb_disabled_holo_light" />
<item android:state_pressed="true" android:drawable="@drawable/switch_thumb_pressed_holo_light" />
<item android:state_checked="true" android:drawable="@drawable/switch_thumb_activated_holo_light" />
<item android:drawable="@drawable/switch_thumb_holo_light" />
</selector>
Это определяет возможность рисования большого пальца, изображение, которое перемещается над фоном. Для слайдера используются четыре изображения ninepatch :
Деактивированная версия (версия xhdpi, которую использует Android) Нажатый
ползунок:
активированный ползунок (включенное состояние):
версия по умолчанию (выключенное состояние):
Также существует три различных состояния фона, которые определены в следующем селекторе:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/switch_bg_disabled_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/switch_bg_focused_holo_dark" />
<item android:drawable="@drawable/switch_bg_holo_dark" />
</selector>
Деактивированная версия:
Ориентированная версия:
И версия по умолчанию:
Чтобы иметь стилизованный переключатель, просто создайте эти два селектора, установите их в свой режим переключения, а затем измените семь изображений на желаемый стиль.