Android学习之基于MotionEvent的移动和放缩

2019-12-10 18:41:04于海丽

1、棋盘的移动 
棋盘的移动我们要用到MotionEvent里的两个常量:ACtION_DOWN和ACTION_MOVE

private float x1, y1, x2, y2;

x1,y1为手指刚刚触摸到屏幕的坐标。 
x2,y2为手指移动后的坐标。

于是我们利用这两个常量和坐标来写棋盘的移动:

case MotionEvent.ACTION_DOWN:
  //获取触碰的坐标
  x1 = event.getX();
  y1 = event.getY();
  break;
case MotionEvent.ACTION_MOVE:
  //获取移动后的坐标
  x2 = event.getX();
  y2 = event.getY();
  //改变棋盘的位置
  GobangConfig.X += (x2 - x1);
  GobangConfig.Y += (y2 - y1);
  //将新坐标赋给原来触碰的坐标
  x1 = x2;
  y1 = y2;
  break;

这样就实现了棋盘的移动,然后我们要做的是:

2、棋盘的放大和缩小

我们这里演示的放大和缩小是按照固定比例的,有兴趣的可以根据你两个手指所拉伸的长度来进行放大和缩小。