动画Drawable在android中没有动画效果?

时间:2010-08-31 11:41:55

标签: android animation

我在我的主游戏线程中创建了一个动画可绘制和图像视图,该视图由处理游戏线程的活动(启动它等)配置。我在此处理活动中的代码如下所示:

            mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.one), 1000);
    mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.two), 1000);
    mDistractionsThread.animation.addFrame(getResources().getDrawable(R.drawable.three), 1000);
    mDistractionsThread.animation.setOneShot(false);

    mDistractionsThread.imageAnim =(ImageView) findViewById(R.id.img);
    mDistractionsThread.imageAnim.setBackgroundDrawable(mDistractionsThread.animation);


    mDistractionsThread.animation.start();

正如您所看到的,变量mDistractionsThread是线程本身的句柄。这个编译很好但只显示第一帧(R.drawable.one)并且根本没有动画。我错过了什么?

我试图在mDistractionsThread中设置来自run()的animation.start(),但这只是给了我一个致命的异常,因为View只能从改变其字段的类中改变 - 在这种情况下不是游戏线程

我如何解决这个问题并让它通过框架动画,以及奖励点,在x轴上移动?!

非常感谢

1 个答案:

答案 0 :(得分:0)

重要的是你开始动画的地方。尝试在活动中的onFocusChanged()中启动它。它应该有帮助