Drawable アニメーション
Drawable アニメーションを使用すると、一連の Drawable リソースを次々にロードしてアニメーションを作成できます。これは、ロールのように順番に再生される一連の異なる画像で作成されるという意味で、伝統的なアニメーションです。 TheAnimationDrawable クラスは Drawable アニメーションの基礎です。
Drawable アニメーションは、一連の画像を 1 つずつ読み込んでアニメーションを作成するものです。実際には、AnimationDrawable は Drawable です。アニメーション
の基本クラスAnimationDrawableclass API を使用してコード内でアニメーションのフレームを定義できますが、この種のアニメーションを構成するフレームをリストする単一の XML ファイルでより簡単に実現できます。この場合、指示はアニメーションの各フレームの順序と長さです。AnimationDrawable クラスを使用してコードでフレーム アニメーションを定義することもできます。 XML を使用することをお勧めします。このファイルには、アニメーションを構成するすべてのフレームがリストされています。この XML ファイルは、res/drawable/ ディレクトリに配置されます。実際、すべての命令は各フレーム アニメーションの順序と長さです。
XML ファイルは、ルート ノードとしての
XML ファイルは、ルート要素
上の例は次のとおりです。 android:oneshot を true に設定すると、1 回だけループし、最後のフレームにとどまる 3 フレームのアニメーションです
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawable/rocket_thrust1" android:duration="200" /> <item android:drawable="@drawable/rocket_thrust2" android:duration="200" /> <item android:drawable="@drawable/rocket_thrust3" android:duration="200" /></animation-list>
注: start() メソッドは、AnimationDrawable が使用されているため、アクティビティの onCreate() メソッドで呼び出すことはできません。この時点では窓に完全には取り付けられていません。インタラクションなしでアニメーションをすぐに呼び出す必要がある場合は、onWindowFocusChanged() で呼び出すことができます。このメソッドは、ウィンドウがフォーカスを取得したときに呼び出されるからです