私が今達成しているのは、onTouch(View v、MotionEvent event)イベントを使用して最初のタッチを取得することだけです。
しかし、mapViewを継続的にドラッグするときのx、y値を知りたいです。
誰かが答えを知っているなら、それは大いにありがたいです。
私が今達成しているのは、onTouch(View v、MotionEvent event)イベントを使用して最初のタッチを取得することだけです。
しかし、mapViewを継続的にドラッグするときのx、y値を知りたいです。
誰かが答えを知っているなら、それは大いにありがたいです。
MotionEvent ACTION_MOVE
http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_MOVE
そのかなり簡単です。タッチの 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;
}