2017-03-01 6 views

Répondre

0

Voici très bon exemple:

ORIGINAL ANSWER

Vous pouvez définir les dessinables qui sont utilisés pour l'arrière-plan, et la partie de switcher comme ceci:

<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:thumb="@drawable/switch_thumb" 
    android:track="@drawable/switch_bg" /> 

Maintenant, vous devez créer un sélecteur qui définit les différents états pour le commutateur commutable. 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> 

Ceci définit la drawable du pouce, l'image qui est déplacé sur l'arrière-plan. Il y a quatre ninepatch images utilisées pour le curseur:

La version désactivée (version xhdpi que Android utilise) The deactivated version
Le curseur pressé: The pressed slider
Le curseur activé (état): The activated slider
Le version par défaut (état inactif): enter image description here

Il existe également trois états différents pour l'arrière-plan 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: The deactivated version
La version ciblée: The focused version
Et la version par défaut: the default version

Pour avoir un commutateur de style il suffit de créer ces deux sélecteurs, énumérez-les à votre commutateur Affichez et modifiez les sept images selon le style souhaité.

+0

merci de votre réponse! mais ce contrôle devrait être comme SwitchCompat (pas comme bouton radio) - devrait changer de statut lorsque l'utilisateur tire de gauche à droite et vice versa –

+0

@ElviraIatsko J'ai édité mes answear –