Android 中顯示 Gif 格式圖

來源:互聯網
上載者:User

引用: http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html

 

參考 Apidemos 中 com.example.android.apis.graphics  BitmapDecode.java 中的範例程式碼。

它的實現是通過 Movie 這個類來對 Gif 檔案進行讀取和解碼的,同時在 onDraw
函數中不斷的繪製每一幀圖片完成的,這個範例程式碼在 onDraw 中調用 invalidate 來反覆讓 View 失效來讓系統不斷調用
SampleView 的 onDraw 函數;至於選出哪一幀圖片進行繪製則是傳入系統目前時間給 Movie
類,然後讓它根據時間順序來選出幀圖片。反覆讓 View 失效的方式比較耗資源,繪製效果允許的話可以採取延時讓 View 失效的方式來減小 CPU
消耗。

目前使用這個方式播放一些 Gif 格式的動畫時會出現花屏的現象,這是因為 Android 中使用的 libgif
庫是比較老的版本,新的 tag 不支援,所以導致花屏,解決辦法有製作 Gif 圖片時別使用太新的 tag 或完善 android 中對應的
libgif 庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.