0

我正在开发游戏应用程序,我使用AnimationDrawable进行图像更改。但问题是我希望动画完成时图像视图不可见。所以我该怎么做。

My code is like this...

 mAnimation = new AnimationDrawable();
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d5),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d4),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d3),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d2),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d1),150);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d2),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d3),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d4),50);
         mAnimation.addFrame(getResources().getDrawable(R.drawable.d5),50);
       mAnimation.addFrame(getResources().getDrawable(R.drawable.new_transparent),50);


         mAnimation.setOneShot(true);
         mDogImage.setImageDrawable(mAnimation);

提前致谢。

4

1 回答 1

0

没有事件或侦听器会通知您。您只需要应用技巧

用于mAnimation.getNumberOfFrames();获取总帧数,因为每帧将持续 50 毫秒。所以你的动画应该以mAnimation.getNumberOfFrames() * 50毫秒结束。

例如,如果您有 9 帧并且每帧的持续时间为 50 毫秒,那么您的动画将在 450 毫秒内结束。

所以结论是,一旦动画开始,您将ImageView在 450 毫秒后使您的隐形。

于 2012-06-21T04:43:56.247 回答