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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)

發布時間:2024/3/13 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.Fresco 簡介

2. Fresco 文檔

3. Fresco開發步驟

4. Fresco加載圖片6種方式

5. Drawees xm屬性設置

6 Fresco實現圓角或圓形圖片

7.?DraweeHierarchy設置

7.1?DraweeHierarchy簡介

7.2 設置占位圖

7.3 設置加載失敗圖片

7.4 設置淡入淡出

7.5 設置圖片縮放類型

7.6 重試圖片

7.7 設置進度條

8.?Fresco的DraweeController

9.?ControllerListener 圖片加載監聽

10.?Fresco的ImageRequest

11?Fresco的顯示GIF

12?Fresco的BasePostprocessor圖片處理

13.Fresco設置和清除緩存


7.?DraweeHierarchy設置

7.1?DraweeHierarchy簡介

? ? ? ?創建 DraweeHierarchy 對象較為耗時的一個過程,一個DraweeHierarchy不可以被多個View公用,

但是可以被同一個應該多次利用,但是不要多次調用setHierarchy(),即使View可以回收;

7.2 設置占位圖

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy(); hierarchy.setPlaceholderImage(R.mipmap.android); draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setPlaceholderImage(R.mipmap.android);

7.3 設置加載失敗圖片

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy(); hierarchy.setFailureImage(R.mipmap.img_error); draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setFailureImage(R.mipmap.img_error);

7.4 設置淡入淡出

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy(); hierarchy.setFailureImage(R.mipmap.img_error); draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setFadeDuration(3000);

7.5 設置圖片縮放類型

可縮放類型:

類型描述
center居中,無縮放。
centerCrop保持寬高比縮小或放大,使得兩邊都大于或等于顯示邊界,且寬或高契合顯示邊界。居中顯示。
focusCrop同centerCrop, 但居中點不是中點,而是指定的某個點。
centerInside縮放圖片使兩邊都在顯示邊界內,居中顯示。和?fitCenter?不同,不會對圖片進行放大。
如果圖尺寸大于顯示邊界,則保持長寬比縮小圖片。
fitCenter保持寬高比,縮小或者放大,使得圖片完全顯示在顯示邊界內,且寬或高契合顯示邊界。居中顯示。
fitStart同上。但不居中,和顯示邊界左上對齊。
fitEnd同fitCenter, 但不居中,和顯示邊界右下對齊。
fitXY不保存寬高比,填充滿顯示邊界。
none如要使用tile mode顯示, 需要設置為none

代碼實現:?

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy(); hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER); draweeView.setHierarchy(hierarchy);

7.6 重試圖片

setRetryImage() 設置重試圖片,圖片現在失敗后重試加載圖片;

hierarchy.setRetryImage(R.mipmap.img5);DraweeController controller = Fresco.newDraweeControllerBuilder().setUri(imgUrlError).setTapToRetryEnabled(true).build();draweeView.setController(controller);

?

7.7 設置進度條

ProgressBarDrawable progressBarDrawable = new ProgressBarDrawable(); progressBarDrawable.setRadius(10); progressBarDrawable.setColor(Color.RED);hierarchy.setProgressBarImage(progressBarDrawable); draweeView.setImageURI(imgUrl1);

或者使用:

AutoRotateDrawable autoRotateDrawable = new AutoRotateDrawable(getResources().getDrawable(R.mipmap.loading, null), 3000);hierarchy.setProgressBarImage(autoRotateDrawable); draweeView.setImageURI(imgUrl1);

?

總結

以上是生活随笔為你收集整理的Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)的全部內容,希望文章能夠幫你解決所遇到的問題。

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