Bạn có thể xác định các phần có thể kéo được sử dụng cho nền và phần trình chuyển đổi như sau:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
Bây giờ bạn cần tạo một bộ chọn xác định các trạng thái khác nhau cho bộ chuyển đổi có thể vẽ được. Đây là các bản sao từ các nguồn 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>
Điều này xác định ngón tay cái có thể vẽ được, hình ảnh được di chuyển trên nền. Có bốn hình ảnh chín bản được sử dụng cho thanh trượt:
Phiên bản đã hủy kích hoạt (phiên bản xhdpi mà Android đang sử dụng)
Thanh trượt được nhấn:
Thanh trượt đã kích hoạt (trạng thái bật):
Phiên bản mặc định (trạng thái tắt):
Ngoài ra còn có ba trạng thái khác nhau cho nền được xác định trong bộ chọn sau:
<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>
Phiên bản đã hủy kích hoạt: Phiên bản
tập trung:
Và phiên bản mặc định:
Để có một công tắc theo kiểu, chỉ cần tạo hai bộ chọn này, đặt chúng thành Chế độ xem chuyển đổi của bạn và sau đó thay đổi bảy hình ảnh theo kiểu bạn muốn.