2011-07-03 39 views
7

我試圖實現將Gif動畫添加到我的應用程序中。以編程方式設置Android動畫列表

1-我可以從服務器下載動畫gif。 2-我能夠解碼動畫gif(使用我的自定義解碼器)並具有與其幀相對應的單獨位圖。

現在我想使用逐幀動畫製作動畫。在我閱讀時,要執行逐幀動畫,首先需要的是「動畫列表」。

我想知道如何創建所需的「動畫列表」,以編程方式將每個位圖包含爲單獨的框架。

回答

9

您可以使用類似於http://androidforums.com/application-development/11620-programmatic-frame-frame-animation-examle-animationdrawable.html的AnimationDrawable,但使用自己的文件而不是從資源中獲取。

請注意,您必須小心下載的屏幕和位圖密度,而不是從資源中獲取,否則它可能在不同的屏幕尺寸/分辨率上看起來不同。更多關於它的信息請見:http://developer.android.com/guide/practices/screens_support.html特別參見「在運行時創建的縮放位圖對象」一章

0

請注意,在Activity的onCreate()方法中,無法調用在AnimationDrawable上調用的start()方法,因爲AnimationDrawable尚未完全附加到窗口。如果您想要立即播放動畫而不需要交互,那麼您可能需要從Activity中的onWindowFocusChanged()方法調用該方法,這會在Android將窗口調焦時調用。