public class ScaleImageActivity extends AppCompatActivity implements View.OnTouchListener {
private ImageView mImagevieqw;
private int MODE;//当前状态
public static final int MODE_NONE = 0;//无操作
public static final int MODE_DRAG = 1;//单指操作
public static final int MODE_SCALE = 2;//双指操作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scale_image);
mImagevieqw = findViewById(R.id.imagevieqw);
mImagevieqw.setOnTouchListener(this);
//设置图片资源
mImagevieqw.setImageResource(R.mipmap.tesila);
//设置ImageView的缩放类型
mImagevieqw.setScaleType(ImageView.ScaleType.MATRIX);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()&event.getActionMasked()){
case MotionEvent.ACTION_DOWN://单指触碰
break;
case MotionEvent.ACTION_POINTER_DOWN://双指触碰
break;
case MotionEvent.ACTION_MOVE://滑动(单+双)
break;
case MotionEvent.ACTION_UP://单指离开
case MotionEvent.ACTION_POINTER_UP://双指离开
break;
}
return true;
}
}
public class ScaleImageActivity extends AppCompatActivity implements View.OnTouchListener {
private ImageView mImagevieqw;
private int MODE;//当前状态
public static final int MODE_NONE = 0;//无操作
public static final int MODE_DRAG = 1;//单指操作
public static final int MODE_SCALE = 2;//双指操作
private Matrix startMatrix = new Matrix();
private Matrix endMatrix = new Matrix();
private PointF startPointF = new PointF();
public class ScaleImageActivity extends AppCompatActivity implements View.OnTouchListener {
private ImageView mImagevieqw;
private int MODE;//当前状态
public static final int MODE_NONE = 0;//无操作
public static final int MODE_DRAG = 1;//单指操作
public static final int MODE_SCALE = 2;//双指操作
private Matrix startMatrix = new Matrix();//初始矩阵
private Matrix endMatrix = new Matrix();//变化后的矩阵
private PointF startPointF = new PointF();//初始坐标
private float distance;//初始距离
private float scaleMultiple;//缩放倍数