Главная » Разработка для Android » Создание и использование пошаговой анимации

0

Пошаговая  анимация  напоминает классические мультипликационные фильмы, где каждому кадру соответствовало отдельное изображение. Если анимация, основанная на расчете промежуточных кадров, использует опре- деленное Представление для отображения содержимого, то пошаговая версия позволяет  задать последовательность объектов  Drawable,  которые станут фоном для Представления.

Класс AnimationDrawable нужен для новой пошаговой анимации, пред- ставленной в виде ресурса Drawable. Вы можете задать его в виде внешнего XML-ресурса в каталоге res/drawable своего проекта.

Используйте тег <animation-list> для группировки набора узлов

<item>, каждый  из которых применяет атрибут  drawable для задания

отображаемой картинки,  а также duration, чтобы указать время, на протя-

жении которого она будет показываться.

В листинге  15.18 демонстрируется процесс создания  простой  анима- ции, которая отображает взлет ракеты (изображения ракеты не включены). Соответствующий файл  сохранен  под именем animated_rocket.xml в каталоге res/drawable.

Листинг 15.18. Создание пошаговой анимации  с помощью XML

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">

<item android:drawable="@drawable/rocket1" android:duration="500" />

<item android:drawable="@drawable/rocket2" android:duration="500" />

<item android:drawable="@drawable/rocket3" android:duration="500" />

</animation-list>

Чтобы отобразить вашу анимацию, задайте ее в виде фона для Представ- ления, применив метод setBackgroundResource:

ImageView image = (ImageView)findViewById(R.id.my_animation_frame);

image.setBackgroundResource(R.drawable.animated_rocket);

Вы можете также использовать метод setBackgroundDrawable, чтобы указывать  экземпляр Drawable  вместо ссылки  на ресурс. Запустите ани- мацию, вызвав метод start:

AnimationDrawable animation = (AnimationDrawable)image.getBackground();

animation.start();

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии