2010-08-17 4 views
2

J'essaye de construire un bouton à bascule personnalisé dans Android, je veux qu'il ressemble à un bouton radio mais fonctionne comme bouton à bascule. Quelqu'un peut il m'aider avec ça? tout indice proche de la réponse est apprécié.Bouton bascule personnalisé (rond)

Répondre

4

Pourquoi ne pas utiliser la vue RadioButton et mise en page RadioGroup?

RadioButton myRadioButton = (RadioButton)findViewById(R.id.myradiobutton); 
myRadioButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      // Toggle the radio button on click. 
      RadioButton button = (RadioButton)v; 
      button.setChecked(!button.isChecked());     
    } 
}); 
+0

va essayer maintenant et vous faire savoir, je ne peux pas les regrouper en tant que groupe de radio, je veux avoir des boutons readio individuels, qui servent à activer/désactiver la case –

+0

http://stackoverflow.com/questions/3569412/customize-check -box-preference –

+0

Si cela a fonctionné dans le passé, il ne fonctionne plus maintenant sur un HTC Hero fonctionnant sous 2.1u1. – Hyperbole

0

Vous pouvez essayer de recopier une case à cocher. Le lien suivant est un tutoriel sur le faire:

link

+0

Bonjour Andrew, merci de répondre, mais je ne veux pas que la marque soit affichée. Par conséquent, je veux un look bouton radio, si vous savez comment définir le bouton radio à true sur clic, puis définissez à false à nouveau sur clic, alors s'il vous plaît faites le moi savoir. –

10

Vous devez remplacer l'apparence du bouton à bascule via un xml personnalisé

aperçu rapide:

  • créer des fichiers .png avec le look and feel de vos boutons, si vous aimez le boutons radio, les saisir de ... \ eclipse_android-sdk-windows \ plates-formes \ android-8 \ data \ res \ drawable-hdpi
  • dans votre modèle xml android: backgroun d = "@ drawable/round_toggle" />

  • ajouter sélecteurs avec autant d'états (jusqu'à 6 + par défaut) dans round_toggle.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/roundtoggle_on_pressed" /> 
    <item android:state_checked="true" android:state_focused="true" 
        android:drawable="@drawable/roundtoggle_on_focused" /> 
    <item android:state_checked="true" android:state_focused="false"  
        android:drawable="@drawable/roundtoggle_on_normal" />  
    <item android:state_checked="false" android:state_pressed="true" 
        android:drawable="@drawable/roundtoggle_off_pressed" /> 
    <item android:state_checked="false" android:state_focused="true" 
        android:drawable="@drawable/roundtoggle_off_focused" /> 
    <item android:state_checked="false" android:state_focused="false" 
        android:drawable="@drawable/roundtoggle_off_normal" /> 
    <item android:drawable="@drawable/roundtoggle_off_normal" /> 
    </selector> 
    

détails dans http://www.anddev.org/act_custom_togglebuttons-t10620.html