デフォルトの画像を含む画像ビューがあります。クリックしようとすると、4フレームの画像を表示するアニメーションが必要になります。これを達成するにはどうすればよいでしょうか。イメージリソースを 4 回変更することで、より単純なアプローチ (もっとばかげたアプローチ) を試しました。何か案は?
私はこのアプローチを試しました:
Gem = (ImageView)v;
Gem.setImageResource(com.example.gems.R.drawable.bd1);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd2);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd3);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd4);
Gem.postDelayed(new Runnable() {
public void run() {
}
}, 500);
}
}, 500);
}
}, 500);
}
}, 500);
うまくいきましたが、あまり多くの行をコーディングせずにこれを行うより良い方法はありますか? 25種類の画像があり、各画像には4つのフレームがあります。
編集:
私はxmlトランジションファイルを使用してみました:
Java ファイル:
Resources res = this.getResources();
Gem = (ImageView)v;
TransitionDrawable transition;
transition = (TransitionDrawable)
res.getDrawable(R.drawable.blue_diamond_animation);
Gem.setImageDrawable(transition);
transition.startTransition(3000);
xml ファイル:
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bd1"></item>
<item android:drawable="@drawable/bd2"></item>
<item android:drawable="@drawable/bd3"></item>
<item android:drawable="@drawable/bd4"></item>
<item android:drawable="@drawable/invi"></item>
</transition>
これは機能しているように見えますが、トランジションでこの画像を描画したくありません。トランジションで背景を変更したい。これをに変更しようとしandroid:drawable
ましたandroid:drawable
が、うまくいきません。