我现在实现的只是使用 onTouch(View v, MotionEvent event) 事件来获得第一次触摸。
但是我想知道当我连续拖动 mapView 时的 x,y 值。
如果有人知道答案,将不胜感激。
我现在实现的只是使用 onTouch(View v, MotionEvent event) 事件来获得第一次触摸。
但是我想知道当我连续拖动 mapView 时的 x,y 值。
如果有人知道答案,将不胜感激。
它非常简单。这是一些代码,它返回触摸的 x 和 y 位置,然后返回一个角度以根据触摸位置旋转图像。
//TouchEvent handler
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d(TAG, "onTouchEvent called...");
x = event.getX();
y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
float dx = x - mPreviousX;
float dy = y - mPreviousY;
//Reverse direction of rotation if above midline
if (y > getHeight() / 2) {
dx = dx * -1;
}
//Reverse direction of rotation if of the midline
if (y < getWidth() / 2) {
dy = dy * -1;
}
Main.mAngle += (dx + dy) * TOUCH_SCALE_FACTOR;
TextView txtView = (TextView) ((Activity)context).findViewById(R.id.mangle);
txtView.setText("Angle: " + String.valueOf(Main.mAngle));
requestRender();
}
mPreviousX = x;
mPreviousY = y;
return true;
}