У меня есть базовый вопрос о запуске покадровой анимации.
Когда я вызываю метод AnimationDrawable.start () из моего кода напрямую, он, похоже, не работает.
public void onCreate(Bundle savedInstanceState) {
...
mAnimation.start();
...
}
Но если я помещу эту строку в метод обратного вызова onClick () кнопки, нажатие кнопки запускает анимацию.
Почему эта строка не работает в коде?
Спасибо!
Код:
public class MyAnimation extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
AnimationDrawable mframeAnimation = null;
super.onCreate(savedInstanceState);
setContentView(R.layout.my_animation);
ImageView img = (ImageView) findViewById(R.id.imgMain);
BitmapDrawable frame1 = (BitmapDrawable) getResources().getDrawable(
R.drawable.splash1);
BitmapDrawable frame2 = (BitmapDrawable) getResources().getDrawable(
R.drawable.splash2);
int reasonableDuration = 250;
mframeAnimation = new AnimationDrawable();
mframeAnimation.setOneShot(false);
mframeAnimation.addFrame(frame1, reasonableDuration);
mframeAnimation.addFrame(frame2, reasonableDuration);
img.setBackgroundDrawable(mframeAnimation);
mframeAnimation.setVisible(true, true);
//If this line is inside onClick(...) method of a button, animation works!!
mframeAnimation.start();
}
}