Суть покадровой анимации прекрасно показана в этой гифке, которую я нашел в И-нете.
Сформулируем задачу.
На
фоне какого-либо изображения, должна происходить покадровая анимация объекта. Я
выбрал фоном песок пустыни, а объектом - тарантула, который шевелит ножками.
Приступим...
Этап 1
Создайте в AndroidStudioобычный проект,
где а экране появится «Helloworld!».
Нажимаем Start a new Android Studio project.
Я назвал свой проект
Application
name: FrameAnimation.
В графе Company Domain
можете ввести свою почту, но тогда не забудьте исправить имя пакета, если
просто будете копировать и вставлять файлы приложения.
Потом установим минимальный SDK.
В моем случае это API 16: Android
4.1. Студия подсказывает нам, что почти 83% пользователей в мире смогут
смотреть наше приложение.
Жмем Next
и выбираем по умолчанию Blank
Activity.
Осталось
немного. :)
Выбираем имя макета (Layoutname): main.
Андроид Студио делает сборку приложения по умолчанию.
На экране у меня появилось следующее:
Над картинкой телефона вы видите его марку и версию
Андроид. Для быстрой загрузки эмулятора я выбрал вместо телефона планшет (Tablet) и API19: Android 4.4.2.
Мой выбор также обусловлен тем, что у меня есть реальный
планшет с такими характеристиками, на котором я смогу проверить работу
приложения.
Этап второй.
Создаем приложение.
2.1 Сначала нужно загрузить в папку drawable фоновую картинку pesok.pngи
три файла тарантула, на которых у него разное положение лапок tarantula01.png, tarantula02.pngи tarantula03.png. Картинок для анимации
может быть сколько угодно, но нужно помнить, что при проигрывании приложение их
загружает все в память и при больших объемах картинок, могут возникнуть
проблемы. Как всегда, нужно искать компромисс между красотой анимации и
быстродействием приложения.
2.2 В той же папке drawable создаем файл tarantula.xml
На первом FrameLayout выводим через метод ImageView
фоновое изображение (android:src="@drawable/pesok"),
которое растягиваем на
весь экран (android:scaleType="fitXY").
На втором слое размещаем анимацию (android:src="@drawable/tarantula").
2.4. В завершении рассмотрим содержимое файла MainActivity.java
В нем мы изменили класс наследования для MainActivity, чтобы убрать полоску бара сверху экрана, на котором
выводится имя приложения.