Android播放Gif動態圖片的幾種方法
下面介紹三種方式:
一、自定義GifView元件
簡介:
Android-gif-drawable的原始碼下載地址:https://github.com/koral--/android-gif-drawable
轉發自:http://blog.csdn.net/zhoufuqiang30/article/details/43730437
一、自定義GifView元件
簡介:
這個自定義的gifview元件核心程式碼就是讀取Gif資料,建立Movie例項,繪製每一幀圖片來達到Gif動態效果。這種方式比較直觀方便,程式碼量也少,不過經測試部分Gif圖片不能自適應大小,播放速度比實際播放速度快,如果要顯示的gif過大,還會出現BOOM的問題。
private void setViewAttributes(Context context, AttributeSet attrs,
int defStyle) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
final TypedArray array = context.obtainStyledAttributes(attrs,
R.styleable.MyGifView, defStyle, R.style.Widget_GifView);
mMovieResourceId = array.getResourceId(R.styleable.MyGifView_gif, -1);
mPaused = array.getBoolean(R.styleable.MyGifView_paused, false);
array.recycle();
if (mMovieResourceId != -1) {
/**
* 核心程式碼,從描述檔案中讀出gif的值,建立出Movie例項
*/
mMovie = Movie.decodeStream(getResources().openRawResource(
mMovieResourceId));
}
}
可以參考地址:http://blog.csdn.NET/y_fc75/article/details/46494929
二、使用GifView的開源jar包
作者:ant:cy:liao
主頁:http://code.google.com/p/gifview/
簡介:功能很強大的Gif庫,能設定載入方式,可以先載入後顯示或者只顯示第一幀,播放速度比實際播放速度快,如果要顯示的gif太大,會出現BOOM的問題。
使用方法:
1)將GifView的jar包匯入到專案中
2)在XML配置,用法與imageview一致
3)程式碼中配置
gif3 = (GifView) findViewById(R.id.gif3);
// 設定Gif圖片源
gif3.setGifImage(R.drawable.gif2);
// 新增監聽器
gif3.setOnClickListener(this);
// 設定顯示的大小,拉伸或者壓縮
gif3.setShowDimension(300, 300);
// 設定載入方式:先載入後顯示、邊載入邊顯示、只顯示第一幀再顯示
gif3.setGifImageType(GifImageType.COVER);
三、使用Android-gif-drawable開源庫
簡介:android-gif-drawable是github上的優秀開源專案,原始碼和demo使用的是studio開發,所以想用eclipse開啟還要花點功夫。這個底層解析Gif使用的是C語言。它的有點久是載入大的圖片時不會出現記憶體溢位的情況。保持Gif的動畫效果,不會發生過快的情況。Android-gif-drawable的原始碼下載地址:https://github.com/koral--/android-gif-drawable
轉發自:http://blog.csdn.net/zhoufuqiang30/article/details/43730437
可以參考demo:http://download.csdn.Net/detail/zhoufuqiang30/8477033
總結,可優先選擇使用Android-gif-drawable開源庫
相關文章
- CSS或JS實現gif動態圖片的停止與播放CSSJS
- Android兩種簡單的載入GIF圖片的方法Android
- GifCam,Gif動態圖片截圖小軟體
- 聊一聊幾種常用web圖片格式:gif、jpg、png、webpWeb
- 製作GIF動態圖有什麼方法
- 利用 Django 動態展示 Pyecharts 圖表資料的幾種方法DjangoEcharts
- Android使用Fresco之下載圖片(包括GIF圖)Android
- PS製作抽象人物線條GIF動態圖片效果抽象
- Swift 幾種動態判斷類的方法Swift
- jQuery動態生成html元素的幾種方法jQueryHTML
- 攻略:如何製作動態的GIF圖
- 如何製作有趣的GIF動態圖
- 關於短視訊平臺原始碼動態廣場自動播放gif動圖原始碼
- GIF動態圖怎麼製作
- Android自定義View播放Gif動畫AndroidView動畫
- php 非同步上傳圖片幾種方法總結PHP非同步
- Torch7平臺上顯示圖片的幾種方法
- Mac上檢視GIF動圖方法Mac
- Android下如何把螢幕錄製演示生成GIF動態圖Android
- 聊聊excel生成圖片的幾種方式Excel
- 【學習圖片】05:GIF
- android短視訊開發,點選靜態圖片自動跳轉播放視訊Android
- ubuntu下圖形程式自啟動的幾種方法Ubuntu
- 通過url獲取圖片尺寸的幾種方法:JS和phpJSPHP
- android程式碼中動態調整圖片的位置Android
- 遇見抖音沙漠駱駝gif表情包 如何製作自己的gif動態圖
- 哪個軟體可以製作GIF表情包 動態圖製作方法
- 使用 JS 來動態操作 css ,你知道幾種方法?JSCSS
- 怎麼將視訊製作成GIF動態圖
- win10 圖片 gif不動_win10動圖不動怎麼辦Win10
- UIView設定背景圖片幾種方式UIView
- Android利用Drawable Animation實現圖片動畫播放Android動畫
- 直播平臺搭建,vue中實現圖片懶載入的幾種方法Vue
- ARKit 如何給SCNNode貼Gif圖片CNN
- 載入GIF圖片優化方案優化
- 從資料庫中的表取幾張圖片,用flash形式動態的顯示圖片資料庫
- Android 截圖實現的幾種方式Android
- 介紹一個好用的靜態圖片合成為 gif 動畫的線上網站動畫網站