Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 22nd, 2012  |  syntax: None  |  size: 1.73 KB  |  hits: 5  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package de.scrolltest;
  2.  
  3. import android.content.Context;
  4. import android.graphics.Canvas;
  5. import android.graphics.drawable.Drawable;
  6. import android.util.Log;
  7. import android.view.MotionEvent;
  8. import android.view.ScaleGestureDetector;
  9. import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
  10. import android.view.View;
  11.  
  12.  
  13. public class GestureDetectView extends View {
  14.         private static final String TAG = "GestureDetectView";
  15.         private ScaleGestureDetector _gestureDetector;
  16.    
  17.         private float _scaleFactor = 1.0f;
  18.        
  19.         private SimpleOnScaleGestureListener _simpleListener
  20.                 = new ScaleGestureDetector.SimpleOnScaleGestureListener() {
  21.                         @Override
  22.                         public boolean onScaleBegin(ScaleGestureDetector detector) {
  23.                                 Log.d(TAG, "onScaleBegin : "+ detector.getScaleFactor());
  24.                                 invalidate();
  25.                                 return super.onScaleBegin(detector);
  26.                         }
  27.  
  28.                         @Override
  29.                         public void onScaleEnd(ScaleGestureDetector detector) {
  30.                                 Log.d(TAG, "onScaleEnd : "+ detector.getScaleFactor());
  31.                                 _scaleFactor *= detector.getScaleFactor();
  32.                                 invalidate();
  33.                                 super.onScaleEnd(detector);
  34.                         }
  35.  
  36.                         @Override
  37.                         public boolean onScale(ScaleGestureDetector detector) {
  38.                                 Log.d(TAG, "onScale : "+ detector.getScaleFactor());
  39.                                 _scaleFactor *= detector.getScaleFactor();
  40.                                 invalidate();
  41.                                 if(detector.getScaleFactor()>1){
  42.                                         Log.d(TAG, "##ZOOM IN onScale : "+ detector.getScaleFactor());
  43.  
  44.                                 }else{
  45.                                         Log.d(TAG, "##ZOOM OUT onScale : "+ detector.getScaleFactor());
  46.  
  47.                                 }
  48.                                 return true;
  49.                         };
  50.                 };
  51.                
  52.         public GestureDetectView(Context context) {
  53.                 super(context);
  54.                 _gestureDetector = new ScaleGestureDetector(context, _simpleListener);
  55.         }
  56.        
  57.     @Override
  58.     public boolean onTouchEvent(MotionEvent ev) {
  59.         _gestureDetector.onTouchEvent(ev);
  60.         return true;
  61.     }
  62.    
  63. }