【发布时间】:2013-03-11 14:07:47
【问题描述】:
我正在尝试将AndroidDrawable 用于循环动画(即连续播放图像)。但困扰我的问题是我找不到优雅 方法来设置动画的默认开始/停止图像。
示例:假设我有五个图像,即:“A”、“B”、“C”、“D”和“E”。
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/A" android:duration="200" />
<item android:drawable="@drawable/B" android:duration="200" />
<item android:drawable="@drawable/C" android:duration="200" />
<item android:drawable="@drawable/D" android:duration="200" />
<item android:drawable="@drawable/E" android:duration="200" />
</animation-list>
当我开始动画时,它显然从图像“A”开始,并在与动画停止时对应的图像处结束(即,每当执行方法 Stop() 时)
因此我的问题是:“如何设置默认的开始/停止帧?”。
目前,我使用以下解决方案,它有效但不太优雅。我相信有更好的解决方案:)
我的解决方案:
- 要以图像“C”开始动画,我将项目移动到动画列表的顶部。
- 要以图像“C”结束动画,我调用方法
Stop()方法(这会在随机图像处停止动画)。然后我调用方法Start()来启动动画并显示第一个图像“C”。我立即调用Stop()方法,确保动画在图像“C”处停止。
【问题讨论】:
-
如何将项目移动到动画列表的顶部?
-
我猜这也可以通过编程方式完成,但现在我已经手动测试了它。
标签: android android-animation android-drawable