Это работает, но это хакерское решение. Вы создаете условие гонки, надеясь, что действие завершилось до начала фонового потока. Он может работать на устройствах, но нет никаких гарантий, что что-то не изменится в будущих версиях Android, и из-за состояния гонки он может перестать работать.

дуюhttp://developer.android.com/guide/topics/graphics/view-animation.html#frame-animation с небольшими изменениями. Я решил сделать цикл анимации и хочу, чтобы он начинался с самого начала.

Моя анимация находится в drawable / listen.xml:

<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
    android:drawable="@drawable/l_01"
    android:duration="200" />
<item
    android:drawable="@drawable/l_02"
    android:duration="200" />
<item
    android:drawable="@drawable/l_03"
    android:duration="200" />
</animation-list>

и мой код инициализации:

 @Override public void onWindowFocusChanged(boolean hasFocus)  { 
      super.onWindowFocusChanged(hasFocus); 
      animImg = (ImageView)findViewById(R.id.listen_anim);
      animImg.setBackgroundResource(R.drawable.listening);
      anim = (AnimationDrawable) animImg.getBackground(); 
      anim.start();
 };

Я вижу только первый кадр и никаких других изображений.

Ответы на вопрос(6)

Ваш ответ на вопрос