我刚刚迁移到Fresco
用于在我的应用程序中加载图像的库。
我需要听图像加载事件,当然我在文档中阅读了这篇文章监听下载事件
这正是我所需要的,但是......
有几件事是我不喜欢的。
我的目标是隐藏View
如果从网上下载失败。
我无法参考SimpleDraweeView
来自控制器,甚至在回调方法上。我需要隐藏View
,但似乎我无法参考它。
每次我需要加载图像时,我需要使用创建控制器对象Builder
,当使用此方法处理大量带有图像的项目的列表时,这可能会导致性能问题。
holder.simpleDraweeViewImage.setController(Fresco.newDraweeControllerBuilder()
.setControllerListener(controllerListener)
.setUri(currentItem.getImage())
.build());
我需要能够参考SimpleDraweeView
来自控制器,并在MVC
模式方法如果控制器知道视图似乎没问题。
请建议实现我的目标的最佳方法。
Thanks.
可以隐藏 onFailure 方法:
ControllerListener listener = new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(String id, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
//Action on final image load
}
@Override
public void onFailure(String id, Throwable throwable) {
//Action on failure
}
};
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setControllerListener(listener)
.build();
draweeView.setController(controller);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)