动画可绘制 - 播放后仍可看到第一张和最后一张图像

时间:2013-01-30 20:23:36

标签: android

我在应用程序中实现AnimationDrawable时遇到问题。我引用了开发人员指南来实现动画。无论出于何种原因,在播放动画后,第一帧和最后一帧在屏幕上仍然可见。

我的xml文件如下所示:

<animation-list android:id="@+id/selected" 
android:oneshot="true" xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/bubbles_1hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_2hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_3hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_4hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_5hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_6hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_7hd" android:duration="50" />
<item android:drawable="@drawable/bubbles_8hd" android:duration="50" />

我的代码如下:

    ImageView img = (ImageView)findViewById(R.id.imageAnimation);
    img.setBackgroundResource(R.drawable.bubble_animation); 
    AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
    frameAnimation.setOneShot(true);
    frameAnimation.start();

我能够弄清楚的唯一解决方案。将为隐藏ImageView的动画结束实现延迟计时器设置。但是,我希望有一个更简单,更优雅的解决方案,我错过了。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我找到的解决方案是为drawable的第一张和最后一张幻灯片插入透明图像。不确定这是否是最佳方法,但它确实有效。