【问题标题】:AndroidDrawable - How do I set the default start/stop frames?AndroidDrawable - 如何设置默认的开始/停止帧?
【发布时间】: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


【解决方案1】:

我认为没有优雅的方法可以做到这一点,只需在动画停止时将背景设置为@drawable/C

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多