Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)
生活随笔
收集整理的這篇文章主要介紹了
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 (五)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言100列作业,C语言经典例题100
- 下一篇: SpringAop两种配置:xml配置和