2010-11-24 30 views
9

J'ai un bouton avec deux états (sélectionné et non sélectionné). l'image du bouton est différente pour les états. Lequel dois-je utiliser? Comment puis-je définir les images et les états? S'il vous plaît donner des suggestions (je suis nouveau à android).Que dois-je utiliser ImageButton ou Button?

Répondre

14

Utilisez une configuration XML dans le dossier pouvant être tracé. Au lieu de référencer l'image en arrière-plan de votre bouton, vous faites référence à cette configuration XML (nom de fichier):

Par exemple: my_button.xml

<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<item 
    android:state_focused="true" 
    android:state_pressed="false" 
    android:drawable="@drawable/button_style1_active" /> 
<item 
    android:state_focused="true" 
    android:state_pressed="true" 
    android:drawable="@drawable/button_style1_down" /> 
<item 
    android:state_focused="false" 
    android:state_pressed="true" 
    android:drawable="@drawable/button_style1_down" /> 
<item 
    android:drawable="@drawable/button_style1_up" /> 

</selector> 

Utilisation dans layout.xml:

<Button android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Tap me" 
     android:background="@drawable/my_button"/> 

Avec cette configuration, vous pouvez influencer l'apparence du bouton, lorsqu'il est pressé, concentré et ainsi de suite. C'est la même chose pour les deux types de boutons (Button et ImageButton). Si votre bouton ne contient aucun texte, utilisez ImageButton.

+0

1000+ pour cela ... a bien fonctionné .. – xydev