我有一个逐帧动画,我想在调用stop方法时设置一个特定的帧。我搜索了很多,但我还没找到我正在寻找的东西。
这种方法存在吗?有可能吗?
答案 0 :(得分:4)
在AnimationDrawable上使用此方法:animationDrawable.selectDrawable(index)
答案 1 :(得分:1)
假设逐帧意味着在 ImageView 的背景中给出 AnimationDrawable 。 像那样(或通过xml):
AnimationDrawable animationDrawable = new AnimationDrawable();
animationDrawable.addFrame(drawableFrame1, 0);
animationDrawable.addFrame(drawableFrame2, 1);
animationDrawable.addFrame(drawableFrame3, 2);
animationDrawable.addFrame(drawableFrame4, 3);
iv = new ImageView(this);
iv.setBackgroundDrawable(animationDrawable);
以下是检索给定框架并将其设置为 ImageView
背景的代码 onStop() {
Drawable drawableFrame2 = ((AnimationDrawable)iv.getBackground()).getFrame(2);
iv.setBackgroundDrawable(drawableFrame2);
iv.postInvalidate();
}