我正在尝试将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”处停止。