Загальна інформація
Знаходиться в розділі Widgets.
Компонент ImageButton є кнопку із зображенням (замість тексту). За замовчуванням ImageButton схожий на звичайну кнопку.
У режимі дизайну зображення на кнопці визначається атрибутом android: src
Можна зробити подвійне клацання, щоб відразу встановити потрібне властивість.
Програмно можна встановити зображення через різні методи.
За допомогою методу setImageURI () можна звернутися до ресурсу типу Drawable за його ідентифікатором:
Наприклад, можна задати шлях Uri:
Можна звернутися до ресурсу по його типу / імені:
В цьому випадку код буде наступним:
Як і у звичайній кнопки, інтерес представляє тільки клацання. У нашому прикладі ми будемо міняти по черзі картинки на кнопці (потрібно підготувати дві картинки в папці drawable)
Тепер при кожному натисканні зображення на кнопці буде циклічно перемикатися між двома картинками.
тривале натискання
Крім звичайного клацання, в Android є особливий вид натискання на кнопку - тривале натискання. Ця подія відбувається, коли користувач натискає і утримує кнопку протягом однієї секунди. Цей тип натискання обробляється незалежно від звичайного клацання.
Для обробки тривалого натискання потрібно реалізувати клас View.OnLongClickListener і передати його в метод setOnLongClickListener (). Клас OnLongClickListener має один обов'язковий метод OnLongClick (). В принципі це схоже на метод OnClick (). тільки має значення, що повертається.
Запустіть проект і переконайтеся, що при швидкому натисканні нічого не відбувається, а при більш тривалому натисканні спливає повідомлення.