Vous pouvez définir les dessinables utilisés pour l'arrière-plan et la partie du sélecteur comme ceci:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_bg" />
Vous devez maintenant créer un sélecteur qui définit les différents états du mélangeur pouvant être dessiné. Voici les copies des sources 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>
Cela définit le pouce dessiné, l'image qui est déplacée sur l'arrière-plan. Il y a quatre images à neuf patchs utilisées pour le curseur:
La version désactivée (version xhdpi utilisée par Android)
Le curseur enfoncé:
Le curseur activé (état activé):
La version par défaut (état désactivé):
Il existe également trois états différents pour l'arrière-plan qui sont définis dans le sélecteur suivant:
<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>
La version désactivée:
La version focalisée:
Et la version par défaut:
Pour avoir un interrupteur stylé, créez simplement ces deux sélecteurs, réglez-les sur votre Switch View, puis modifiez les sept images selon le style souhaité.
C'est une réponse détaillée impressionnante de Janusz. Mais juste pour le bien des gens qui viennent sur cette page pour obtenir des réponses, le moyen le plus simple est à http://android-holo-colors.com/ (lien mort) lié à Android Asset Studio
Une bonne description de tous les outils est sur AndroidOnRocks.com (site hors ligne maintenant)
Cependant, je recommande vivement à tout le monde de lire la réponse de Janusz car cela rendra la compréhension plus claire. Utilisez l'outil pour faire des choses très rapidement
la source
Vous pouvez personnaliser les styles de matériaux en définissant différentes propriétés de couleur. Par exemple, un thème d'application personnalisé
Thème de commutateur personnalisé
Vous pouvez personnaliser la piste de commutation et changer de pouce comme l'image ci-dessous en définissant des tableaux xml. Pour plus d'informations http://www.zoftino.com/android-switch-button-and-custom-switch-examples
la source
Une manière alternative et beaucoup plus simple consiste à utiliser des formes au lieu de 9 patchs. C'est déjà expliqué ici: https://stackoverflow.com/a/24725831/512011
la source