フレームアニメーションを表示するために使用されている ImageView があります。これらの画像の期間はすべて 100 に設定されています。
ただし、ImageView を非表示にする必要がある場合もあります。したがって、アニメーションは停止し、ImageView は GONE に設定されます。
ImageView を再度表示するときは、可視性が VISIBLE に設定され、アニメーションが開始されます。
ただし、アニメーションは非常に高速になりました。100 のデュレーションではなく、50 のように見えます。しかし、デュレーションを確認すると、まだ 100 と表示されています。
ImageView を非表示および表示するコードは次のとおりです。
//hide the animation
final AnimationDrawable frameAnim = (AnimationDrawable) animImgView.getBackground();
if (frameAnim.isRunning() == true)
{
frameAnim.stop();
}
frameAnim.setVisible(false, false);
animImgView.setVisibility(View.GONE);
//show animation
animImgView.setVisibility(View.VISIBLE);
final AnimationDrawable frameAnim = (AnimationDrawable) animImgView.getBackground();
frameAnim.setVisible(true, true);
frameAnim.start();
問題は何ですか?