我正在开发一个使用Fresco库具有图库 View 的应用程序。我有一个用户可以缩放图像的要求。因此,我使用了Fresco示例项目中可用的ZoomableDraweeView。显示图像并缩放它们可以完美地工作,但是我还需要为ZoomableDraweeView设置onClicklistener。我尝试设置默认的clickListener,该默认监听器在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

10-05 17:49