2014-06-22 3 views
0

Je veux faire un bouton bascule personnalisé, par exemple lorsque je clique sur le bouton, l'étoile s'allume et quand je clique à nouveau, l'étoile s'éteint. J'ai essayé quelques codes mais ils changent le bouton à une image et quand je clique dessus, l'image change. Je veux dire, il n'y a pas de bouton, c'est juste une image.android-Comment faire bouton bascule personnalisé

Je veux que l'image soit à l'intérieur du bouton, comme le bouton bascule par défaut et j'ai juste besoin de changer l'image à l'intérieur.

Comment puis-je le faire?

grâce

Répondre

6

créer toggle_selector.xml dans res/étirables

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/toggle_on" android:state_checked="true"/> 
    <item android:drawable="@drawable/toggle_off" android:state_checked="false"/> 
</selector> 

appliquer le sélecteur sur votre bouton à bascule

<ToggleButton 
      android:id="@+id/chkState" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/toggle_selector" 
      android:textOff="" 
      android:textOn=""/> 

Note: pour enlever le texte i utilisé suivant dans le code ci-dessus

textOff="" 
textOn="" 

référence https://stackoverflow.com/a/20300753/712960

+0

c'est le problème exact que j'ai dit dans ma question, le bouton à bascule convertit en une image, je ne veux pas que – user3718930