devstory

Le Tutoriel de Android ImageButton

  1. Android ImageButton
  2. ImageButton Styles
  3. ImageButton Event

1. Android ImageButton

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)

2. ImageButton Styles

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>

3. ImageButton Event

À 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);
  • ...

Tutoriels de programmation Android

Show More