Android使用glide加載gif動(dòng)畫設(shè)置播放次數(shù)
在使用glide加載gif動(dòng)畫,有時(shí)需要設(shè)置播放的次數(shù),然后播放玩一次或者幾次之后,需要在播放完做一些其他的操作,直接看代碼:
Glide.with(this) .load(R.drawable.xiaoguo) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .listener(new RequestListener<Integer, GlideDrawable>() { @Override public boolean onException(Exception arg0, Integer arg1, Target<GlideDrawable> arg2, boolean arg3) { return false; } @Override public boolean onResourceReady(GlideDrawable resource, Integer model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { // 計(jì)算動(dòng)畫時(shí)長(zhǎng) GifDrawable drawable = (GifDrawable) resource; GifDecoder decoder = drawable.getDecoder(); for (int i = 0; i < drawable.getFrameCount(); i++) { duration += decoder.getDelay(i); } //發(fā)送延時(shí)消息,通知?jiǎng)赢嫿Y(jié)束 handler.sendEmptyMessageDelayed(MESSAGE_SUCCESS, duration); return false; } }) //僅僅加載一次gif動(dòng)畫 .into(new GlideDrawableImageViewTarget(imageview, 1));
glide簡(jiǎn)單加載動(dòng)畫用法:
如果添加.asGif(),這樣的話就只能加載gif文件,如果不加,既可以加載圖片也可以加載.gif。
解決加載gif文件非常慢的情況:
為其添加緩存策略
其中緩存策略可以為:Source及None,None及為不緩存,Source緩存原型.如果為ALL和Result就不行
DiskCacheStrategy.NONE 什么都不緩存
DiskCacheStrategy.SOURCE 僅僅只緩存原來(lái)的全分辨率的圖像。
DiskCacheStrategy.RESULT 僅僅緩存最終的圖像,即,降低分辨率后的(或者是轉(zhuǎn)換后的)
DiskCacheStrategy.ALL 緩存所有版本的圖像(默認(rèn)行為)
設(shè)置gif播放次數(shù):
這樣寫會(huì)報(bào)錯(cuò)的:
Glide.with(MainActivity.this).load(url).asGif().into(new GlideDrawableImageViewTarget(imageview, 1));
設(shè)置播放次數(shù)和播放監(jiān)聽(tīng)的時(shí)候,不應(yīng)加上.asGif()
Glide.with(MainActivity.this).load(url).into(new GlideDrawableImageViewTarget(imageview, 1));
new GlideDrawableImageViewTarget(imageview, 1),imageview是控件,1是播放次數(shù)
設(shè)置播放監(jiān)聽(tīng):
添加listener()
listener(new RequestListener<Integer, GlideDrawable>() { @Override//加載出錯(cuò) public boolean onException(Exception arg0, Integer arg1, Target<GlideDrawable> arg2, boolean arg3) { return false; } @Override//加載完成 public boolean onResourceReady(GlideDrawable resource, Integer model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { // 計(jì)算動(dòng)畫時(shí)長(zhǎng) GifDrawable drawable = (GifDrawable) resource; GifDecoder decoder = drawable.getDecoder(); for (int i = 0; i < drawable.getFrameCount(); i++) { duration += decoder.getDelay(i); } //發(fā)送延時(shí)消息,通知?jiǎng)赢嫿Y(jié)束 handler.sendEmptyMessageDelayed(MESSAGE_SUCCESS, duration); return false; } })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)仿iOS菊花加載圈動(dòng)畫效果
- Android繪制圓形百分比加載圈效果
- Android自定義加載圈動(dòng)畫效果
- android動(dòng)態(tài)加載布局文件示例
- Android使用控件ImageView加載圖片的方法
- Android實(shí)現(xiàn)跳動(dòng)的小球加載動(dòng)畫效果
- Android中Glide加載圓形圖片和圓角圖片實(shí)例代碼
- Android自定義Dialog實(shí)現(xiàn)加載對(duì)話框效果
- Android通用LoadingView加載框架詳解
- Android實(shí)現(xiàn)加載圈
相關(guān)文章
android引導(dǎo)用戶開(kāi)啟自啟動(dòng)權(quán)限的方法
今天小編就為大家分享一篇android引導(dǎo)用戶開(kāi)啟自啟動(dòng)權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07解決android.support.v4.content.FileProvide找不到的問(wèn)題
這篇文章主要介紹了解決android.support.v4.content.FileProvide找不到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03基于Android CALL && SendMes Test的相關(guān)介紹
本篇文章小編為大家介紹,Android CALL && SendMes Test 需要的朋友參考下2013-04-04詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡(jiǎn)潔輕便封裝
本篇文章主要介紹了詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡(jiǎn)潔輕便封裝,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Android基于AdapterViewFlipper實(shí)現(xiàn)的圖片/文字輪播動(dòng)畫控件
這篇文章主要介紹了Android基于AdapterViewFlipper實(shí)現(xiàn)的圖片/文字輪播動(dòng)畫控件,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下2021-04-04Android計(jì)時(shí)器的三種實(shí)現(xiàn)方式(Chronometer、Timer、handler)
這篇文章主要介紹了Android計(jì)時(shí)器的三種實(shí)現(xiàn)方式,Chronometer、Timer、handler計(jì)時(shí)器的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11教你一步步實(shí)現(xiàn)Android微信自動(dòng)搶紅包
自從微信添加搶紅包的功能,微信的電商之旅算是正式開(kāi)始正式火爆起來(lái)。但是作為Android開(kāi)發(fā)者來(lái)說(shuō),我們首先考慮的是如何實(shí)現(xiàn)Android微信自動(dòng)搶紅包呢,下面我們來(lái)一起看看吧。2016-08-08android自定義Camera實(shí)現(xiàn)錄像和拍照
這篇文章主要為大家詳細(xì)介紹了android自定義Camera實(shí)現(xiàn)錄像和拍照功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Android組件DrawerLayout仿網(wǎng)易新聞v4.4側(cè)滑菜單
這篇文章主要為大家詳細(xì)介紹了Android組件DrawerLayout仿網(wǎng)易新聞v4.4側(cè)滑菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01