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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Fresco加载gif动画

發布時間:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Fresco加载gif动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先導入基礎庫:

compile 'com.facebook.fresco:fresco:1.11.0'

需要加載動畫時,必須再導入一個動畫加載庫:

compile 'com.facebook.fresco:animated-gif:1.11.0'

并且,一定要注意,一定要注意,一定要注意,這倆個版本號一定要一致,否則,會報以下錯誤:

E/AndroidRuntime: FATAL EXCEPTION: Thread-10Process: com.gobest.hngh, PID: 14897java.lang.NoSuchFieldError:No field forceOldAnimationCode of type Z in classLcom/facebook/imagepipeline/common/ImageDecodeOptions; or its superclasses (declaration of 'com.facebook.imagepipeline.common.ImageDecodeOptions' appears in /data/app/com.gobest.hngh-1/base.apk:classes3.dex)at com.facebook.imagepipeline.animated.factory.AnimatedImageFactoryImpl.decodeGif(AnimatedImageFactoryImpl.java:84)at com.facebook.imagepipeline.decoder.ImageDecoder.decodeGif(ImageDecoder.java:110)at com.facebook.imagepipeline.decoder.ImageDecoder.decodeImage(ImageDecoder.java:84)at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.doDecode(DecodeProducer.java:194)at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.access$200(DecodeProducer.java:97)at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder$1.run(DecodeProducer.java:129)at com.facebook.imagepipeline.producers.JobScheduler.doJob(JobScheduler.java:207)at com.facebook.imagepipeline.producers.JobScheduler.access$000(JobScheduler.java:27)at com.facebook.imagepipeline.producers.JobScheduler$1.run(JobScheduler.java:78)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:43)at java.lang.Thread.run(Thread.java:761)

然后,使用以下方法(兩種方法,可選其中yizh一種),加載gif圖片展示:

方法一:

DraweeController mDraweeController = Fresco.newDraweeControllerBuilder().setAutoPlayAnimations(true)//加載drawable里的一張gif圖.setUri(Uri.parse("res://" + mContext.getPackageName() + "/" + R.mipmap.loading_gif))//設置uri.build();//設置Controllerdrawview.setController(mDraweeController);

方法二:

Uri uri = new Uri.Builder().scheme(UriUtil.LOCAL_RESOURCE_SCHEME).path(String.valueOf(R.mipmap.loading_gif)).build();DraweeController controller = Fresco.newDraweeControllerBuilder().setUri(uri).setAutoPlayAnimations(true).build();drawview.setController(controller);

?

?

總結

以上是生活随笔為你收集整理的使用Fresco加载gif动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。