手势状态控制图片的缩放和移动(双击放大,俩指滑动图片缩放)
MainActivity:
package com.example.pointerstouchevent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener {
private CystomImage image;
private GestureDetector gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//将自定义View控件找出来
image= (CystomImage) findViewById(R.id.image);
//手势探测器实现手势的监听
gestureDetector=new GestureDetector(this,this);
//手指在屏幕上双击的手势监听
gestureDetector.setOnDoubleTapListener(this);
}
//Activity检测手势的方法
@Override
public boolean onTouchEvent(MotionEvent event) {
//通过event获取屏幕上手指个数
int pointerCount = event.getPointerCount();
switch(pointerCount){
case 1://移动图片
image.move(event);
break;
case 2://缩放图片
image.scale(event);
break;
default:
break;
}
//return super.onTouchEvent(event);
return gestureDetector.onTouchEvent(event);
}
//+++++++