Você pode definir os drawables que são usados para o plano de fundo e a parte do switcher como esta:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
Agora você precisa criar um seletor que defina os diferentes estados da gaveta do comutador. Aqui estão as cópias das fontes do 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>
Isso define o polegar extraível, a imagem que é movida sobre o fundo. Existem quatro imagens de nove patches usadas para o controle deslizante:
A versão desativada (versão xhdpi que o Android está usando)
O controle deslizante pressionado:
O controle deslizante ativado (estado ativado):
A versão padrão (estado desativado):
Também existem três estados diferentes para o plano de fundo que são definidos no seguinte seletor:
<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>
A versão desativada:
A versão focada:
E a versão padrão:
Para ter uma opção estilizada, basta criar esses dois seletores, defina-os em seu Modo de exibição de comutador e altere as sete imagens para o estilo desejado.