日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gif android 点击 加载,android 加载显示gif图片的解决方案

發(fā)布時(shí)間:2023/12/4 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gif android 点击 加载,android 加载显示gif图片的解决方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用方法:

1-把GifView.jar加入你的項(xiàng)目。

2-在xml中配置GifView的基本屬性,GifView繼承自View類,和Button、ImageView一樣是一個(gè)UI控件。如:

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:paddingTop="4px"

android:paddingLeft="14px" android:enabled="false"

/>

3-在代碼中配置常用屬性:

// 從xml中得到GifView的句柄

gf1 = (GifView)

findViewById(R.id.gif1);

// 設(shè)置Gif圖片源

gf1.setGifImage(R.drawable.gif1);

// 添加監(jiān)聽器

gf1.setOnClickListener(this);

// 設(shè)置顯示的大小,拉伸或者壓縮

gf1.setShowDimension(300,

300);

//

設(shè)置加載方式:先加載后顯示、邊加載邊顯示、只顯示第一幀再顯示

gf1.setGifImageType(GifImageType.COVER);

GifView的Jar包共有四個(gè)類:

GifAction.java?觀察者類,監(jiān)視GIF是否加載成功

GifFrame.java?里面三個(gè)成員:當(dāng)前圖片、延時(shí)、下張F(tuán)rame的鏈接。

GifDecoder.java?解碼線程類

GifView.java?主類,包括常用方法,如GifView構(gòu)造方法、設(shè)置圖片源、延遲、繪制等。

這種實(shí)現(xiàn)方案比較好,可以直接加載網(wǎng)絡(luò)上流的形式的圖片也可以加載res下drawable中的圖片還可以加載一個(gè)一個(gè)圖片的byte數(shù)組。用法也比較簡(jiǎn)單,缺點(diǎn)就是當(dāng)一個(gè)gif圖片比較大時(shí),可能會(huì)出現(xiàn)OOM。由于這種方案的解決思路是開啟線程先解析一張gif圖片,解析成一幀一幀的圖片,然后再開啟另外一個(gè)線程一幀一幀的顯示。所以當(dāng)一個(gè)gif圖片過大的時(shí)候,解析成的一系列的圖片就會(huì)很多很大。容易出現(xiàn)OOM的情況。所以我們?cè)诓シ藕艽蠛荛L(zhǎng)的gif圖片的時(shí)候,就需要先設(shè)置一下圖片的屬性,降低圖片的容量,盡量避免出現(xiàn)OOM的情況。

當(dāng)然以上的兩種方案是比較常用的方案,除此之外也還有其他的解決方案,比如利用webview加載gif圖片、利用mediaplayer播放動(dòng)態(tài)圖片等等,這些方案一般比較復(fù)雜,而且本人我也沒有用過,所以這里就不再敘述。

這只是我個(gè)人的一點(diǎn)小見解,如果有什么錯(cuò)誤,希望大家不吝賜教。

總結(jié)

以上是生活随笔為你收集整理的gif android 点击 加载,android 加载显示gif图片的解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。