Table des matières
Le Tutoriel de Android ImageButton
View more Tutorials:
Sous Android, ImageButton est un contrôle d'interface utilisateur (User interface control), il s'affiche comme un bouton avec une image et permet à l'utilisateur de cliquer (click) dessus pour exécuter une action.

ImageButton est une sous-classe d'ImageView, vous pouvez donc lui définir une icône via l'attribut app:srcCompat. Notez que, pas comme Button, vous ne pouvez pas afficher un texte sur ImageButton.
<ImageButton android:id="@+id/imageButton" app:srcCompat="@drawable/icon_feel_good" ... />
Il y a quelques autres types de boutons que vous pouvez consulter dans les articles suivants:
Concernant le code Java, il y a certaines méthodes permettant de définir l'icône pour ImageButton. Toutes ces méthodes sont héritées d'ImageView.
- setImageBitmap(Bitmap bitmap)
- setImageDrawable(Drawable drawable)
- setImageIcon(Icon icon)
- setImageResource(int resId)
- setImageURI(Uri uri)
L'attribut style est une option d'ImageButton qui permet de définir les styles pour ImageButton. Vous pouvez utiliser certains styles disponibles dans la bibliothèque d'Android.

<ImageButton android:id="@+id/imageButton" style="@android:style/Widget.Holo.ImageButton" app:srcCompat="@drawable/icon_feel_good" ... />
- style="@style/Widget.AppCompat.ImageButton"
- style="@android:style/Widget.Holo.ImageButton"
- style="@android:style/Widget.ImageButton"

<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView11" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:text="Widget.AppCompat.ImageButton (Default)" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageButton android:id="@+id/imageButton11" style="@style/Widget.AppCompat.ImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="8dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView11" app:srcCompat="@drawable/icon_feel_good" /> <TextView android:id="@+id/textView12" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:text="Widget.Holo.ImageButton" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageButton11" /> <ImageButton android:id="@+id/imageButton12" style="@android:style/Widget.Holo.ImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="8dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView12" app:srcCompat="@drawable/icon_feel_good" /> <TextView android:id="@+id/textView13" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:text="Widget.ImageButton" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="1.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageButton12" /> <ImageButton android:id="@+id/imageButton13" style="@android:style/Widget.ImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="8dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView13" app:srcCompat="@drawable/icon_feel_good" /> </androidx.constraintlayout.widget.ConstraintLayout>
À la base, ImageButton et Button disposent de mêmes évènements. Vous pouvez consulter l'article sur Button pour en savoir plus.
Les évènements d'ImageButton et Button:
- button.setOnTouchListener(View.OnTouchListener)
- button.setOnClickListener(View.OnClickListener)
- button.setOnLongClickListener(View.OnLongClickListener)
- button.setOnContextClickListener(View.OnContextClickListener);
- ...