1

I wrote this code for zoom in / out and it suppesed to only work with two fingers but it works for both ! and generaly reacts weird ! any body knows why ?

boolean surfaceTouchEvent(MotionEvent event) {
  pointNum=event.getPointerCount();
  switch (event.getAction() & MotionEvent.ACTION_MASK) {
  case MotionEvent.ACTION_POINTER_DOWN:
    x1=event.getX(0);
    x2=event.getX(1);
    y1=event.getY(0);
    y2=event.getY(1);
    z4 = dist(x1, y1, x2, y2);
    println("z4 is : "+z4);
    mode = true; // pinch
    break;
  case MotionEvent.ACTION_MOVE:
    if (mode = false) {
      x3=event.getX(0)-x0;
      y3=event.getY(0)-y0;
    }  

    if (mode = true) {
      x1=event.getX(0);
      x2=event.getX(1);
      y1=event.getY(0);
      y2=event.getY(1);
      float z3 = dist(x1, y1, x2, y2);
      println("z3is :" + z3);
      if ( z3 < z4 ) { 
        zoom = z3/z4;
        println(" zoom :" + zoom);
      }
      else if ( z3 > z4) {
        zoom = z3/z4;
        println(" zoom :" + zoom);

      }
    }
    break;
  }
  return super.surfaceTouchEvent(event);
}
Aida E
  • 1,108
  • 2
  • 22
  • 40
  • In case you don't know, there is some ready-made code for pinch zoom: http://android-developers.blogspot.co.uk/2010/06/making-sense-of-multitouch.html – Jimbali Jun 19 '12 at 10:41

1 Answers1

0

Dont know the reason but if you want code for pinch zooming than here is a link. It works fine for me.

Android Image View Pinch Zooming

Community
  • 1
  • 1
user
  • 323
  • 6
  • 11