Exemple de sélecteur ImageButton Android

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».

  1. button_normal_green.png - Bouton d'image par défaut.

  2. 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.

  3. 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)

normal button

2. Le bouton est focalisé. (button_focused_orange.png)

button is focused

3. Le bouton est enfoncé. (button_pressed_yellow.png)

button is pressed

Télécharger le code source

Téléchargez-le -Android-ImageButton-Selector-Example.zip (23 Ko)