2015-08-25 1 views
0

J'ai essayé d'implémenter la disposition personnalisée de PinchZoom dans Android en fonction du lien ci-dessous.Pinch Zoom et onClickListener pour la même mise en page ne fonctionnant pas sous Android

https://gist.github.com/anorth/9845602

Dans le même temps mis en œuvre onClickListener pour la même mise en page. Mais, il ne fonctionne pas correctement lorsque je clique sur une position particulière dans la mise en page, Pinch Zoom ne fonctionne pas après la fonctionnalité OnClick. D'autres sages fonctionnent bien.

Comment résoudre ceci?

Est-ce que n'importe qui suggestion sera appréciée.

Répondre

0

Essayez cela peut vous aider à

Pas besoin de définir la méthode onClick() OnTouch() va gérer à la fois le cas.

package com.example.demo;

import android.app.Activity; 
import android.os.Bundle; 
import android.view.GestureDetector; 
import android.view.GestureDetector.SimpleOnGestureListener; 
import android.view.Menu; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.View.OnTouchListener; 
import android.widget.ImageButton; 

public class MainActivity extends Activity { 
    private GestureDetector gestureDetector; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     gestureDetector = new GestureDetector(this, new SingleTapConfirm()); 
     ImageButton imageButton = (ImageButton) findViewById(R.id.img); 

     imageButton.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View arg0, MotionEvent arg1) { 

       if (gestureDetector.onTouchEvent(arg1)) { 
        // single tap 
        return true; 
       } else { 
        // your code for move and drag 
       } 

       return false; 
      } 
     }); 

    } 

    private class SingleTapConfirm extends SimpleOnGestureListener { 

     @Override 
     public boolean onSingleTapConfirmed(MotionEvent event) { 
      return true; 
     } 
    } 

}