Покадровая анимация - PullRequest
       15

Покадровая анимация

2 голосов
/ 20 июля 2010

Когда я пытаюсь кодировать покадровую анимацию в Eclipse, это вызывает у меня ошибку.В интернете я нашел что-то, что говорит, что они облажались в документации по sdk, но я не могу не задаться вопросом, что означает android: id = "selected" или что вместо этого следует поместить в цитаты.

Кроме того, кто-нибудь может объяснить мне последнюю часть урока по анимации кадров?http://developer.android.com/guide/topics/resources/animation-resource.html#Frame Поместите ли вы другой код в имя файла .Java, и если да, то куда вы его поместите?Я не могу понять, где разместить второй код, который не является XML.Я думаю, что мне нужно знать, что код ниже и куда он должен идти:

ImageView fileimage = (ImageView) findViewById(R.id.file_image);
fileimage.setBackgroundResource(R.drawable.file_image2);

fileAnimation = (AnimationDrawable)fileimage.getBackground();
fileAnimation.start();

Но вот код XML, который я использовал:

 <animation-list android:id="selected" android:oneshot="false">
 <item android:drawable="@drawable/filename" android:duration="200" />
 <item android:drawable="@drawable/filename2" android:duration="200" />
 </animation-list>

Должно ли что-либо быть удалено или добавленоОт этого?Я не знаю, что еще делать, потому что мне нужно запустить анимацию и иметь код для этого (1-й), но я не знаю, куда она идет, или мне нужен другой код вместе с ней.

1 Ответ

3 голосов
/ 20 июля 2010

Вот как я это реализовал.

В вашем основном Java-файле должно быть что-то вроде этого.

public class Main extends Activity { 
AnimationDrawable mainanimation;

public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main);

     ImageView mainimage = (ImageView) findViewById(R.id.MainAnim);
     mainimage.setBackgroundResource(R.anim.mainanim);
     mainanimation = (AnimationDrawable) mainimage.getBackground();

Таким образом, вы устанавливаете ImageView в файле макета main.xml на xml, содержащий анимацию (R.id.MainAnim)

Затем в свой MainAnim.xml (расположенный вres / anim) файл, который вы пишете

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/image1" android:duration="2000" />
<item android:drawable="@drawable/image2" android:duration="2000" />
</animation-list>

Теперь изображения 1 и 2 будут чередоваться взад и вперед по 2 секунды каждый.Также я не использовал andriod: id = "selectable".

Подводя итог, вам нужно 3 файла.Ваш Main.java, ваш файл макета main.xml и ваш файл mainanim.xml, расположенный в res / anim.Также ваши 2 изображения в папке Drawable.

Надеюсь, это немного прояснит.

...