以编程方式设置Android动画列表

8
我正在尝试将动态gif添加到我的应用程序中。
1- 我能够从服务器下载动态gif。 2- 我能够解码动态gif(使用自定义解码器)并拥有对应其帧的单独位图。
现在我想使用逐帧动画来播放它。据我所知,要执行逐帧动画,首先需要的是“animation-list”。
我想知道如何通过编程方式创建所需的“animation-list”,其中包含每个位图作为单独的帧。
2个回答

11
你可以使用AnimationDrawable,它类似于http://androidforums.com/application-development/11620-programmatic-frame-frame-animation-examle-animationdrawable.html,但使用自己的文件而不是从资源中获取。
请注意,您必须小心屏幕密度和下载的位图,而不是从资源中获取,否则在不同的屏幕尺寸/分辨率上可能会显示不同。请参见此处了解更多信息:http://developer.android.com/guide/practices/screens_support.html,特别是“在运行时创建的缩放位图对象”章节。

0
需要注意的是,在Activity的onCreate()方法中调用AnimationDrawable的start()方法是不可行的,因为AnimationDrawable还没有完全附加到窗口。如果您想立即播放动画而无需交互,则可能希望从Activity的onWindowFocusChanged()方法中调用它,该方法将在Android将您的窗口聚焦时调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接