Exemple de sélecteur ImageButton Android
Danslast Android tutorial, vous utilisez «ImageButton
» pour afficher facilement un «Button
» avec une image d'arrière-plan personnalisée. Cependant, vous pouvez faire plus que juste une simple image, Android vous permet de changer l'image du bouton en fonction de différents états, comme le bouton est mis au point ou le bouton est enfoncé.
Cet exemple est référencé à partir de cet article deAndroid custom button, avec des modifications mineures.
P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.
1. Ajouter des images aux ressources
Préparez 3 images pour les états des boutons et placez-les dans le dossier «resource/drawable».
-
button_normal_green.png - Bouton d'image par défaut.
-
button_focused_orange.png - S'affiche lorsque le bouton est mis au point, par exemple, lorsque le clavier du téléphone est déplacé (mise au point) sur ce bouton.
-
button_pressed_yellow.png - Affichage lorsque le bouton est enfoncé.
2. Ajouter un sélecteur pour différents états de bouton
Maintenant, créez un nouveau fichier XML dans le dossier «res/drawable/», sous le nom que vous voulez, dans ce cas, nous donnons simplement un nom comme «new_button.xml
». Ce fichier définit quel état du bouton appartient à quelle image.
Maintenant, vous pouvez vous référer à ce bouton via cet Id:@drawable/new_button
.
Fichier: res / drawable / new_button.xml
3. Bouton Ajouter
Ouvrez le fichier «res/layout/main.xml», ajoutez un bouton normal et attachez l'image d'arrière-plan à «new_button» ci-dessus via «android:background="@drawable/new_button
»
Fichier: res / layout / main.xml
4. Code Code
Un bouton normal avec un simple écouteur de clic.
Fichier: MyAndroidAppActivity.java
package com.example.android; import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.widget.Toast; import android.view.View; import android.view.View.OnClickListener; public class MyAndroidAppActivity extends Activity { Button imageButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addListenerOnButton(); } public void addListenerOnButton() { imageButton = (Button) findViewById(R.id.imageButtonSelector); imageButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Toast.makeText(MyAndroidAppActivity.this, "ImageButton (selector) is clicked!", Toast.LENGTH_SHORT).show(); } }); } }
5. Demo
Exécutez l'application.
1. Résultat, bouton par défaut. (button_normal_green.png)
2. Le bouton est focalisé. (button_focused_orange.png)
3. Le bouton est enfoncé. (button_pressed_yellow.png)
Télécharger le code source
Téléchargez-le -Android-ImageButton-Selector-Example.zip (23 Ko)