首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AnimationDrawable从特定的帧开始?

AnimationDrawable从特定的帧开始?
EN

Stack Overflow用户
提问于 2014-10-03 17:37:52
回答 1查看 1.2K关注 0票数 2

我和这个没有有效答案的question asked 2 years ago有相同的问题(请不要对重复的内容关闭这个问题;还没有答案/解决方案)。

因此,我有一个以编程方式制作的AnimationDrawable,我希望在一个特定的框架中启动动画。

当我停止并再次通过指定一个框架启动动画时,动画会显示正确的框架,但就在跳回第一个帧运行动画之后。例如:

代码语言:javascript
运行
复制
// Stopping the animation 
animation.stop();

// Starting the animation again
animation.start();
animation.selectDrawable(9);

正确的做法应该是什么?

我是否必须动态地重新创建动画,并将框架9设置为动画中的第一帧,如animation.addFrame(myDrawable9, duration),下一帧将为10、11、12.1、2、3、4、5、6、7、8?

有那么简单的方法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-10-03 18:02:09

因此,不幸的是,没有公共的setFrame()方法。但是,它实现了Runnablerun()的实现调用了调用setFrame()nextFrame(false)。因此,这当然是一次黑客攻击,但您可以实现如下方法:

代码语言:javascript
运行
复制
public static void setAnimationFrame(AnimationDrawable anim, int frame) {
    for (int i = 0; i < frame; i++) {
        anim.run();
    }
}

这样才能使可拉拔到合适的框架。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26183919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档