2010-04-14 6 views
2

Création d'un jeu sous Android à l'aide de plusieurs boutons pour afficher une image à partir du dossier pouvant être tracé. Je veux changer le bouton pour une image différente après avoir cliqué sur le bouton. Voici le code du bouton:Changer l'image dans un bouton après avoir cliqué?

<Button android:id="@+id/b36" 
    android:background="@drawable/black" 
    android:layout_width="45px" 
    android:layout_height="45px" 
    /> 

Je ne trouve rien sur la façon de changer l'image réelle du bouton. Vous pouvez changer la couleur du bouton en utilisant le code suivant dans le fichier java:

b36.setBackgroundColor(0xAA00AA00); 

Répondre

1

Peut-être que vous voulez utiliser un ImageButton. Ensuite, vous pouvez appeler des méthodes comme button.setImageDrawable() et autres.

3

vous devez utiliser l'image comme bouton. définir l'arrière-plan de la vue de l'image dans un fichier xml. dans la ressource dessinable, nous pouvons utiliser des fichiers XML. Vérifiez le dossier api démos drawable. ce fichier xml contient ce code.

<?xml version="1.0" encoding="UTF-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="false" 
    android:drawable="@drawable/button _image_in_normal_state" /> 

<item android:state_pressed="true" 
    android:drawable="@drawable/button _image_in_pressed_state" /> 

</selector> 

et de les placer dans des fichiers image dans un dossier res/drawable. vous pouvez réaliser ce que vous voulez?

se réfèrent également cette link

+0

Cela m'a beaucoup aidé, mais il se trouve que vous pouvez utiliser pour la plupart des points de vue, y compris le bouton tel qu'il est. vous venez de définir l'arrière-plan de l'image pour ce fichier de ressources. Très bonne réponse – mtmurdock

0

exemple rapide pour changer l'arrière-plan d'un bouton, une fois pressé.

Dans le oncreate de votre activité:

btn_36= (Button) findViewById(R.id.b36); 
    btn_36.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      btn_36.setBackgroundResource(R.drawable.white); 
     } 
    }); 
Questions connexes