Руководство Android ImageButton
View more Tutorials:
В Android, ImageButton это контроль интерфейса пользователя (User interface control), он отображается как button с изображением и разрешает пользователю кликать (click) на него, чтобы выполнить действие.

ImageButton это подкласс у ImageView, поэтому вы можете настроить ему Icon через атрибут app:srcCompat. Примечание, в отличии от Button, вы не можете отобразить текст на ImageButton.
<ImageButton android:id="@+id/imageButton" app:srcCompat="@drawable/icon_feel_good" ... />
Есть некоторые другие виды button, которые вы можете посмотреть в статьях ниже:
С Java кодом, имеются некоторые методы, помогающие вам настроить Icon для ImageButton, все эти методы унаследованы от ImageView.
- setImageBitmap(Bitmap bitmap)
- setImageDrawable(Drawable drawable)
- setImageIcon(Icon icon)
- setImageResource(int resId)
- setImageURI(Uri uri)
Атрибут style это опция у ImageButton, он разрешает вам настроить стиль для ImageButton. Есть некоторые готовые стили в библиотеке 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>
В основном ImageButton и Button имеют похожие события, вы можете прочитать статью про Button, чтобы узнать больше про данные события.
События у ImageButton, Button:
- button.setOnTouchListener(View.OnTouchListener)
- button.setOnClickListener(View.OnClickListener)
- button.setOnLongClickListener(View.OnLongClickListener)
- button.setOnContextClickListener(View.OnContextClickListener);
- ...