Fresco ZoomableDraweeView 设置onClickListenet

Fresco ZoomableDraweeView set onClickListenet

我正在使用 Fresco 库开发一个具有图库视图的应用程序。我有一个用户可以缩放图像的要求。所以我使用了 Fresco 示例项目中可用的 ZoomableDraweeView。显示图像和缩放它们效果很好,但是我还需要为 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

您可以使用 setTapListener()

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