Come pulsante per passare personalizzato ?

? Abdellah @ | Original: StackOverFlow
---

Sto cercando di ordinazione Il Switch per diventare come segue :

Come pulsante per passare personalizzato ?

Come raggiungere questo obiettivo ?

---

Top 5 Risposta

1Karakuri @

È possibile utilizzare il widget di switch regolare e basta chiamare setTextOn() e setTextOff(), o utilizzare il android:textOn e android:textOff attributi .

2said @

è possibile utilizzare il seguente codice per modificare il colore e il testo :

<org.jraf.android.backport.switchwidget.Switch
                        android:id="@+id/th"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        app:thumb="@drawable/apptheme_switch_inner_holo_light"
                        app:track="@drawable/apptheme_switch_track_holo_light"
                        app:textOn="@string/switch_yes"
                        app:textOff="@string/switch_no"
                        android:textColor="#000000"
                        />

Creare un XML denominato colors.xml in res / Valori cartella :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#ff0000</color>
    <color name="green">#00ff00</color>
</resources>

In cartella drawable, creare un file xml my_btn_toggle.xml :

  <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="false" android:drawable="@color/red"  />
        <item android:state_checked="true" android:drawable="@color/green"  />
    </selector>

e nella sezione xml definire il vostro pulsante di commutazione aggiungere :

android:background="@drawable/my_btn_toggle

per cambiare il colore di textOn e l'uso textOff

android:switchTextAppearance="@style/Switch"
3user2979568 @
<Switch android:layout_width="wrap_content" 
                    android:layout_height="wrap_content"
                    android:thumb="@drawable/custom_switch_inner_holo_light"
                    android:track="@drawable/custom_switch_track_holo_light"
                    android:textOn="@string/yes"
                    android:textOff="@string/no"/>

drawable / custom_switch_inner_holo_light.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/custom_switch_thumb_disabled_holo_light" />
    <item android:state_pressed="true"  android:drawable="@drawable/custom_switch_thumb_pressed_holo_light" />
    <item android:state_checked="true"  android:drawable="@drawable/custom_switch_thumb_activated_holo_light" />
    <item                               android:drawable="@drawable/custom_switch_thumb_holo_light" />
</selector>

drawable / custom_switch_track_holo_light.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true"  android:drawable="@drawable/custom_switch_bg_focused_holo_light" />
    <item                               android:drawable="@drawable/custom_switch_bg_holo_light" />
</selector>

Immagini Avanti sono 9.paths drawable e devono essere a densità differenziata ( MDPI, hdpi, xhdpi, xxhdpi ) . Per esempio io do xxhdpi ( è possibile ridimensionare che se u bisogno ) :

drawable / custom_switch_thumb_disabled_holo_light

Come pulsante per passare personalizzato ?

drawable / custom_switch_thumb_pressed_holo_light

Come pulsante per passare personalizzato ?

drawable / custom_switch_thumb_activated_holo_light

Come pulsante per passare personalizzato ?

drawable / custom_switch_thumb_holo_light

Come pulsante per passare personalizzato ?

drawable / custom_switch_bg_focused_holo_light

Come pulsante per passare personalizzato ?

drawable / custom_switch_bg_holo_light

Come pulsante per passare personalizzato ?