本教程內(nèi)容來源于:http://fresco-cn.org
采用 知識共享 署名 4.0 國際 許可協(xié)議 進(jìn)行許可
SimpleDraweeView
有兩個方法可以設(shè)置所要加載顯示圖片,簡單的方法就是setImageURI
。
如果你需要對加載顯示的圖片做更多的控制和定制,那就需要用到DraweeController,本頁說明如何使用。
首先,創(chuàng)建一個DraweeController, 然后傳遞圖片加載請求給PipelineDraweeControllerBuilder.
隨后,你可以控制controller的其他選項了:
ControllerListener listener = new BaseControllerListener() {...}
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setTapToRetryEnabled(true)
.setOldController(mSimpleDraweeView.getController())
.setControllerListener(listener)
.build();
mSimpleDraweeView.setController(controller);
在指定一個新的controller的時候,使用setOldController
,這可節(jié)省不必要的內(nèi)存分配。
更多細(xì)節(jié):
在更進(jìn)一步的用法中,你需要給Image pipeline 發(fā)送一個ImageRequest。下面是一個圖片加載后,使用后處理器(postprocessor) 進(jìn)行圖片后處理的例子.
java
Uri uri;
Postprocessor myPostprocessor = new Postprocessor() { ... }
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setPostprocessor(myPostprocessor)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(mSimpleDraweeView.getController())
// 其他設(shè)置
.build();
更多細(xì)節(jié):