本教程內容來源于:http://fresco-cn.org
采用 知識共享 署名 4.0 國際 許可協(xié)議 進行許可
mSimpleDraweeView.setImageURI(uri);
如果要更加復雜的配置,可使用ControllerBuilder;
一般情況下,在XML設置顯示效果即可, 如果想更多定制化,可以這樣:
創(chuàng)建一個 builder 然后設置給 DraweeView:
List<Drawable> backgroundsList;
List<Drawable> overlaysList;
GenericDraweeHierarchyBuilder builder =
new GenericDraweeHierarchyBuilder(getResources());
GenericDraweeHierarchy hierarchy = builder
.setFadeDuration(300)
.setPlaceholderImage(new MyCustomDrawable())
.setBackgrounds(backgroundList)
.setOverlays(overlaysList)
.build();
mSimpleDraweeView.setHierarchy(hierarchy);
對于同一個View,請不要多次調用setHierarchy,即使這個View是可回收的。創(chuàng)建 DraweeHierarchy 的較為耗時的一個過程,應該多次利用。
如果要改變所要顯示的圖片可使用setController 或者 setImageURI。
DraweeHierarchy 的一些屬性可以在運行時改變。
要改變這些屬性,首先獲取一個引用:
GenericDraweeHierarchy hierarchy = mSimpleDraweeView.getHierarchy();
修改占位圖為資源id:
hierarchy.setPlaceholderImage(R.drawable.placeholderId);
或者修改為一個 Drawable:
Drawable drawable;
// 創(chuàng)建一個drawable
hierarchy.setPlaceholderImage(drawable);
修改縮放類型:
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_INSIDE);
當然,如果修改為 focusCrop, 需要指定一個居中點:
hierarchy.setActualImageFocusPoint(point);
或者設置一個color filter:
ColorFilter filter;
// 創(chuàng)建filter
hierarchy.setActualImageColorFilter(filter);
All of the rounding related params, except the rounding method, can be modified. You get a RoundingParams object from the hierarchy, modify it, and set it back again:
除了圓角顯示方式(原來為圓角的不能修改為圓圈,反之亦然),其他圓角相關的呈現(xiàn)參數(shù), 具體參見這里 是可以動態(tài)修改的。
如下: 獲取DraweeHierarchy的圓角顯示參數(shù),修改圓角半徑為10。
java
RoundingParams roundingParams = hierarchy.getRoundingParams();
roundingParams.setCornersRadius(10);
hierarchy.setRoundingParams(roundingParams);