gpt4 book ai didi

android - Fresco ZoomableDraweeView 设置onClickListenet

转载 作者:行者123 更新时间:2023-11-29 19:21:11 29 4
gpt4 key购买 nike

我正在使用 Fresco 库开发一个具有画廊 View 的应用程序。我有一个用户可以缩放图像的要求。所以我用了ZoomableDraweeView这在 Fresco 示例项目中可用。显示图像和缩放它们效果很好,但是我还需要为 ZoomableDraweeView 设置一个 onClicklistener。我已经尝试设置在 Android 中使用的默认 clickListener,但它没有被点击。下面是我用来设置点击监听器的代码

ZoomableDraweeView view = new ZoomableDraweeView(container.getContext());
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(images.get(position).getFull_url()))
.setProgressiveRenderingEnabled(true)
.build();
view.setController(
Fresco.newDraweeControllerBuilder().setLowResImageRequest(ImageRequest.fromUri(images.get(position)
.getThumb_url()))
.setImageRequest(request).setOldController(view.getController())
.build());
GenericDraweeHierarchy hierarchy =
new GenericDraweeHierarchyBuilder(container.getResources())
.setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER)
.setProgressBarImage(null)
.build();
view.setHierarchy(hierarchy);
((ViewPager) container).addView(view, 0);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast..... I need this to be called
}
});
return view;

提前致谢。 https://github.com/facebook/fresco/tree/master/samples/zoomable/src/main/java/com/facebook/samples/zoomable

最佳答案

默认的触摸行为在 ZoomableDraweeView 中被覆盖,现在无法触发 onClick。我试过 setTapListener 并且有效。

zoomableDraweeView.setTapListener(new DoubleTapGestureListener(finalZoomableDraweeView){
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
if(mItemClickListener != null){
mItemClickListener.onClick(finalZoomableDraweeView);
}
return super.onSingleTapConfirmed(e);
}
});

要了解更多信息,请引用我的演示: https://github.com/ibosong/CommentGallery

关于android - Fresco ZoomableDraweeView 设置onClickListenet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42437397/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com