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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

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

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

目錄

1.Fresco 簡(jiǎn)介

2. Fresco 文檔

3. Fresco開(kāi)發(fā)步驟

4. Fresco加載圖片6種方式

5. Drawees xm屬性設(shè)置

6 Fresco實(shí)現(xiàn)圓角或圓形圖片

7.?DraweeHierarchy設(shè)置

7.1?DraweeHierarchy簡(jiǎn)介

7.2 設(shè)置占位圖

7.3 設(shè)置加載失敗圖片

7.4 設(shè)置淡入淡出

7.5 設(shè)置圖片縮放類(lèi)型

7.6 重試圖片

7.7 設(shè)置進(jìn)度條

8.?Fresco的DraweeController

9.?ControllerListener 圖片加載監(jiān)聽(tīng)

10.?Fresco的ImageRequest

11?Fresco的顯示GIF

12?Fresco的BasePostprocessor圖片處理

13.Fresco設(shè)置和清除緩存


7.?DraweeHierarchy設(shè)置

7.1?DraweeHierarchy簡(jiǎn)介

? ? ? ?創(chuàng)建 DraweeHierarchy 對(duì)象較為耗時(shí)的一個(gè)過(guò)程,一個(gè)DraweeHierarchy不可以被多個(gè)View公用,

但是可以被同一個(gè)應(yīng)該多次利用,但是不要多次調(diào)用setHierarchy(),即使View可以回收;

7.2 設(shè)置占位圖

方式一:

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

方式二:

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

7.3 設(shè)置加載失敗圖片

方式一:

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

方式二:

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

7.4 設(shè)置淡入淡出

方式一:

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

方式二:

draweeView.getHierarchy().setFadeDuration(3000);

7.5 設(shè)置圖片縮放類(lèi)型

可縮放類(lèi)型:

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

代碼實(shí)現(xiàn):?

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

7.6 重試圖片

setRetryImage() 設(shè)置重試圖片,圖片現(xiàn)在失敗后重試加載圖片;

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

?

7.7 設(shè)置進(jìn)度條

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);

?

總結(jié)

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

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