Ви можете визначити чернетки, які використовуються для фону, і частину комутатора так:
<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>
Це визначає великий палець, що малюється, зображення, яке переміщується над фоном. Для повзунка використовуються чотири дев'ятипаткові зображення:
Деактивована версія (версія 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>
Деактивована версія:
Зосереджена версія:
І версія за замовчуванням:
Щоб мати стильний перемикач, просто створіть ці два селектори, встановіть їх у свій перегляд перемикачів, а потім змініть сім зображень на потрібний стиль.