Набор Fresco ZoomableDraweeView onClickListenet

Я разрабатываю приложение, которое имеет вид галереи, используя библиотеку Fresco. У меня есть требование, когда пользователь может масштабировать изображение. Поэтому я использовал ZoomableDraweeView, который доступен в примерах проектов Fresco. Отображение изображений и их масштабирование работает отлично, однако мне также нужно установить onClicklistener для ZoomableDraweeView. Я попытался установить 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


person Anudeep    schedule 24.02.2017    source источник


Ответы (2)


Поведение касания по умолчанию было переопределено в 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

person Bos    schedule 27.02.2017

Вы можете использовать setTapListener()

person Anurag Singh    schedule 24.02.2017
comment
Не могли бы вы уточнить? - person Anudeep; 27.02.2017