1) Добавляем в drawable раскадрированную анимацию (можно взять любой .GIF и провести раскадровку в любом продвинутом графическом редакторе или онлайн).
2) Создаем новый XML файл animation.xml типа Drawable (animation-list) для создания анимации:
duration - длительность изображения этого кадра
Для того чтобы анимация проигрывалась только один раз можно добавить android:oneshot="true" к animation-list.
Этот XML файл описывает анимацию и к нему можно обращаться как к одному изображению.
3) Создадим ImageView и сделаем его абсолютно пустым удалив все из свойства Src. Изменим Main.java следующим образом:
2) Создаем новый XML файл animation.xml типа Drawable (animation-list) для создания анимации:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/frame1" android:duration="30" /> <item android:drawable="@drawable/frame2" android:duration="30" /> <item android:drawable="@drawable/frame3" android:duration="30" /> <item android:drawable="@drawable/frame4" android:duration="30" /> <item android:drawable="@drawable/frame5" android:duration="30" /> <item android:drawable="@drawable/frame6" android:duration="30" /> <item android:drawable="@drawable/frame7" android:duration="30" /> <item android:drawable="@drawable/frame8" android:duration="30" /> <item android:drawable="@drawable/frame9" android:duration="30" /> <item android:drawable="@drawable/frame10" android:duration="30" /> </animation-list>
duration - длительность изображения этого кадра
Для того чтобы анимация проигрывалась только один раз можно добавить android:oneshot="true" к animation-list.
Этот XML файл описывает анимацию и к нему можно обращаться как к одному изображению.
3) Создадим ImageView и сделаем его абсолютно пустым удалив все из свойства Src. Изменим Main.java следующим образом:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // final потому что анимация ссылается на ресурсы final ImageView image1 = (ImageView) findViewById(R.id.imageView1); image1.setBackgroundResource(R.drawable.animation); // будем запускать анимацию по клику image1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub // ссылка на анимацию AnimationDrawable anim1 = (AnimationDrawable) image1.getBackground(); anim1.start(); } }); }