在Fresco库中,setImageURI(url)
方法确实已经被弃用。为了替代这个方法,你可以使用ImageRequest
来构建一个请求,并通过DraweeController
来加载图片。以下是如何使用这些新方法的一个示例:
import com.facebook.common.util.UriUtil;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.AbstractDraweeControllerBuilder;
import com.facebook.drawee.controller.BaseControllerListener;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
// 初始化Fresco(通常在Application的onCreate中进行)
Fresco.initialize(context);
// 创建ImageRequest
Uri uri = Uri.parse("https://example.com/image.jpg");
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(uri)
.build();
// 获取DraweeControllerBuilder实例
AbstractDraweeControllerBuilder controllerBuilder = Fresco.newDraweeControllerBuilder();
// 创建DraweeController
DraweeController controller = controllerBuilder
.setImageRequest(imageRequest)
.setOldController(yourSimpleDraweeView.getController())
.setControllerListener(new BaseControllerListener<ImageInfo>())
.build();
// 将控制器设置到SimpleDraweeView
yourSimpleDraweeView.setController(controller);
通过这种方式,你可以继续使用Fresco库来加载和显示图片,同时利用其提供的先进功能和优化。
领取专属 10元无门槛券
手把手带您无忧上云