Fresco点击默认图 无法响应点击事件

本文探讨了在使用Fresco框架加载图片时遇到的问题,即SimpleDraweeView加载URL图片显示默认图且点击无响应的现象。通过分析,发现问题是由于setTapToRetryEnabled设置为false,导致点击事件无法响应。文章提供了修改后的加载方法,确保点击事件能够正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于之前没有过fresco框架,最近发现项目中SimpleDraweeView加载url没有加载出图片显示默认图,点击无法响应点击事件;但是快速多点击几次又可以响应点击事件;这种现象十分奇怪?

以下是加载方法;

public static void loadImageView(String url, SimpleDraweeView view, int defaultResource) {
    Uri uri = Uri.parse(url);
    GenericDraweeHierarchy hierarchy = new GenericDraweeHierarchyBuilder(MyApplication.getContext().getResources())
            .setFadeDuration(100)
            .setPlaceholderImage(defaultResource)//默认图
            .setFailureImage(defaultResource)//加载失败
            .setPlaceholderImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
            .setActualImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
            .build();

    DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setUri(uri)
            .setRetainImageOnFailure(true)
            .setTapToRetryEnabled(true)
            .setOldController(view.getController())
            .build();

    view.setHierarchy(hierarchy);
    view.setController(controller);
}

经过排查之后,发现原来是setTapToRetryEnabled为启动点击重试(最多重试4次),默认情况下是false;所以导致点击事件无法响应;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值