Это работает, но это хакерское решение. Вы создаете условие гонки, надеясь, что действие завершилось до начала фонового потока. Он может работать на устройствах, но нет никаких гарантий, что что-то не изменится в будущих версиях 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();
};
Я вижу только первый кадр и никаких других изображений.