2017-02-24 2 views
0

Ich entwickle eine App, die eine Galerieansicht mit Fresco-Bibliothek hat. Ich habe eine Anforderung, wo der Benutzer das Bild vergrößern kann. So habe ich ZoomableDraweeView verwendet, die in Fresco-Beispielprojekten verfügbar ist. Das Anzeigen der Bilder und das Zoomen funktioniert einwandfrei, aber ich muss auch einen onClicklistener für die ZoomableDraweeView einstellen. Ich habe versucht, den Standard ClickListener zu setzen, der in Android benutzt wird, aber es wird nicht angeklickt. Unten ist der Code, den ich verwendet habe, um den Clicklistener zu setzenFresco ZoomableDraweeView set onClickListenet

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; 

Vielen Dank im Voraus. https://github.com/facebook/fresco/tree/master/samples/zoomable/src/main/java/com/facebook/samples/zoomable

Antwort

1

Das Verhalten Standard Touch Überschreibung war in ZoomableDraweeView kann onClick jetzt nicht auslösen. Ich habe versucht setTapListener und es funktioniert.

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

Um mehr Information zu erhalten, wenden Sie sich bitte an meine Demo verweisen: https://github.com/ibosong/CommentGallery

+0

Du hast meinen Tag gemacht. Danke vielmals!!! – Anu

0

können Sie die Verwendung setTapListener()

+0

Könnten Sie bitte näher erläutern? – Anu

Verwandte Themen