Android图像视图缩放和翻译问题
public class MyImageView extends ImageView {private ScaleGestureDetector mScaleDetector ; private static final int MAX_SIZE = 1024;private static final String TAG = "MyImageView"; PointF DownPT = new PointF(); // Record Mouse Position When Pressed DownPointF StartPT = new PointF(); // Record Start Position of 'img'public MyImageView(Context context) { super(context); mScaleDetector = new ScaleGestureDetector(context,new MySimpleOnScaleGestureListener()); setBackgroundColor(Color.RED); setScaleType(ScaleType.MATRIX); setAdjustViewBounds(true); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); lp.setMargins(-MAX_SIZE, -MAX_SIZE, -MAX_SIZE, -MAX_SIZE); this.setLayoutParams(lp); this.setX(MAX_SIZE); this.setY(MAX_SIZE);}int firstPointerID;boolean inScaling=false;@Overridepublic boolean onTouchEvent(MotionEvent event) { // get pointer index from the event object int pointerIndex = event.getActionIndex(); // get pointer ID int pointerId = event.getPointerId(pointerIndex); //First send event to scale detector to find out, if it's a scale boolean res = mScaleDetector.onTouchEvent(event);
}
MMMHUHU