Робимо анімовану кнопку за допомогою imageview

Кнопки є самим часто використовуваним елементом будь-якого Android програми. Сьогодні ми трохи розширимо свої здібності в області створення кнопок і зробимо анімовану кнопку.

Створюємо новий проект, вибираємо Blank Activity. Основні кроки створення будуть наступними:

1) створюємо інтерфейс програми, що складається всього із одного елемента ImageView, який і буде грати роль кнопки;

2) створюємо анімацію з набору зображень;

3) ну і наостанок Кодима в MainActivity.java.

Почнемо з роботи з інтерфейсом. Відкриваємо файл activity_main.xml і додаємо туди елемент ImageView. задавши йому певні рамки, щоб він в результаті не займав нам весь екран:

Поки що Android Studio лає нас на сходинці android: background = "@ drawable / anim_button", щоб це виправити, переходимо до виконання другого пункту плану: створення анімації. Як ви напевно вже здогадалися, анімація в додатку буде представлена ​​xml файлом anim_button.xml. Перед тим, як його створити, додамо в проект додатка кілька зображень, які і будуть складати анімацію. Я не дуже крутий дизайнер (м'яко кажучи), тому якщо вам не сподобатися мій набір картинок. можете підібрати що-небудь своє. Зображення потрібно помістити в папці res / drawable проекту.

Тепер в цій же папці res / drawable створюємо новий xml файл на ім'я anim_button.xml і додамо в нього наші картинки:

Команда duration регулює тривалість показу одного зображення в мілісекундах, можете підібрати оптимальне для вас значення.

Переходимо до роботи в файлі MainActivity.java. Нам потрібно оголосити і форматувати змінні ImageView і AnimationDrawable, налаштувати файл anim_button.xml як анімації для елемента ImageView і налаштувати запуск самої анімації при натисканні на елемент ImageView. Щоб все це зробити, додаємо наступний код:

Ну ось і все на цей раз, запускаємо і дивимося що вийшло:

Робимо анімовану кнопку за допомогою imageview

Кнопочка з ImageView працює нормально. Щоб анімація повторилася 1 раз, в рядку
animation.setOneShot (false) потрібно виставити значення true.

Наша анімація не сильно красива, тому складно побачити їй застосування, але якщо створити гарну анімацію, то використання такого елемента в інтерфейсі програми може виявитися дуже корисним і приємним. До речі, схожу роботу ми виконували в уроці по створенню фреймовой анімації.