0

ループ内のアニメーションにAndroidDrawableを使用しようとしています (つまり、画像を連続的に再生します)。しかし、私を悩ませている問題は、アニメーションのデフォルトの開始/停止画像を設定するエレガントな方法が見つからないことです。

例: 'A'、'B'、'C'、'D'、'E' の 5 つの画像があるとします。

 <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()method を呼び出します (これにより、ランダムな画像でアニメーションが停止します)。次に、アニメーションを開始するメソッドを呼び出すStart()と、最初の画像「C」が表示されます。Stop()その直後にメソッドを呼び出して、アニメーションが画像 'C' で停止するようにします。
4

1 に答える 1

0

エレガントな方法はないと思います。アニメーションが停止したときに背景を @drawable/C に設定するだけです

于 2013-03-11T17:19:14.187 に答える