我正在尝试将动画GIF添加到我的应用程序中。
1-我可以从服务器下载动画gif。 2-我能够解码动画gif(使用我的自定义解码器),并有一个与其帧相对应的单独位图。
现在我想使用逐帧动画为其设置动画。正如我读到的,要逐帧动画执行,首先需要的是“动画列表”。
我想知道如何创建所需的“动画列表”,以编程方式将每个位图包含为一个单独的帧。
答案 0 :(得分:10)
您可以使用与http://androidforums.com/application-development/11620-programmatic-frame-frame-animation-examle-animationdrawable.html类似的AnimationDrawable,但使用您自己的文件,而不是从资源中获取。
请注意,您必须注意下载的屏幕和位图的密度,而不是从资源中获取,否则在不同的屏幕尺寸/分辨率下它可能会有所不同。有关它的更多信息:http://developer.android.com/guide/practices/screens_support.html特别注意“在运行时创建的缩放位图对象”一章
答案 1 :(得分:0)
重要的是要注意,在Activity的onCreate()方法中,无法调用在AnimationDrawable上调用的start()方法,因为AnimationDrawable尚未完全附加到窗口。如果您想立即播放动画而不需要交互,那么您可能希望从Activity中的onWindowFocusChanged()方法调用它,当Android将窗口置于焦点时将调用该方法