2
AnimationDrawableにフレームとデュレーションを問題に追加しようとしていますが、結果が得られません。私はフレームを追加することができますが、それ以降の呼び出しは古いフレームをクリアしません。 AnimationDrawableをリセットする方法はありますか?ここでAnimationDrawableでフレームを消去できません
は私のコードからの抜粋です:
public void animate() {
if (a != null && a.isRunning()) {
a.stop();
}
//iv.setImageDrawable(null);
//iv.setBackgroundDrawable(null);
iv.setBackgroundResource(R.drawable.blank_animation);
a = (AnimationDrawable) iv.getBackground();
a.addFrame(res.getDrawable(R.drawable.blank), 1);
for (int i=0;i<Frames.size();i++) {
a.addFrame(res.getDrawable(Frames.get(i)), AnimationSpeed);
}
a.addFrame(res.getDrawable(R.drawable.blank), 1);
a.setOneShot(true);
a.start();
}
私はImageViewのおよび/またはAnimationDrawableのいずれかをクリアするには成功せず、次のことを試してみました。
iv.setImageDrawable(null);
iv.setBackgroundDrawable(null);
a = new AnimationDrawable();
iv.clearAnimation();
ImageViewをnullにして再作成しようとしましたが、フレームをリセットしませんでした。
ご協力いただければ幸いです。
おかげのように試してみてください!唯一の問題はa.setBackgroundDrawable(anim)です。 iv.setBackgroundDrawable(a);にする必要があります。 ImageViewはAnimationDrawableに設定する必要があります。 – SunMan
確かにあなたは正しいです。私は私の答えを訂正します。 – jobesu14
これは私のために働いた。 –