我想在应用程序启动后立即运行我的Android动画 我在thunder.xml中使用带有动画列表的帧动画。 我的代码如下。
ImageView img = (ImageView) findViewById(R.id.animlist);
img.setBackgroundResource(R.drawable.thunder);
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.start();
但这是在运行,但没有显示动画。 如果我创建一个按钮并将其设置为该按钮的onClick事件,那么它的工作正常。 但我想在应用程序启动后立即运行我的Android动画。 请帮我 .. 提前致谢
答案 0 :(得分:1)
试试这段代码,它可以帮到你 -
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
animation = (ImageView)findViewById(R.id.imageAnimation);
animation.setBackgroundResource(R.drawable.animation);
}
public void onWindowFocusChanged (boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
AnimationDrawable frameAnimation =
(AnimationDrawable) animation.getBackground();
if(hasFocus) {
frameAnimation.start();
} else {
frameAnimation.stop();
}
}
答案 1 :(得分:0)
尝试在onStart()方法中移动代码。我想你的动画正在运行,但在活动开始之前你的动画动画已经完成。
答案 2 :(得分:0)
onWindowFocusChanged()
是在帧动画上调用start()
的正确方法。