Como botão para alternar personalizado ?

? Abdellah @ | Original: StackOverFlow
---

Eu estou olhando para personalizada O Switch Botão de se tornar como a seguir :

Como botão para alternar personalizado?

Como conseguir isso ?

---

Top 5 Responder

1Karakuri @

Você pode usar o widget Mudar regular e apenas chamar setTextOn() e setTextOff(), ou use o android:textOn e android:textOff atributos.

2said @

você pode usar o seguinte código para mudar a cor e texto:

<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"
                        />

Criar um xml chamado colors.xml em res / valoriza pasta:

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

Na pasta drawable, crie um arquivo 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 na seção xml definir o seu botão de alternância add :

android:background="@drawable/my_btn_toggle

para mudar a cor do textOn e textOff utilização

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>

Próxima imagens são 9.paths drawables e eles devem estar em diferentes densidades ( MDPI, HDPI, xhdpi, xxhdpi ) . Como exemplo dou xxhdpi ( você pode redimensionar eles se u necessário) :

drawable / custom_switch_thumb_disabled_holo_light

Como botão para alternar personalizado?

drawable / custom_switch_thumb_pressed_holo_light

Como botão para alternar personalizado?

drawable / custom_switch_thumb_activated_holo_light

Como botão para alternar personalizado?

drawable / custom_switch_thumb_holo_light

Como botão para alternar personalizado?

drawable / custom_switch_bg_focused_holo_light

Como botão para alternar personalizado?

drawable / custom_switch_bg_holo_light

Como botão para alternar personalizado?