ビューをタップすると、ビューsetOnTouchListener
をキャプチャMotionEvent.ACTION_DOWN
して移動するために使用します。MotionEvent.ACTION_MOVE
Bt は Samsung S3 (4.1.1) では正常に動作しますがMotionEvent.ACTION_MOVE
、別の android 2.3.3 では動作しません (キャプチャできません)。
どんなコメントも役に立ちます、ありがとう。
=> => => Log.d()後、両方ともMotionEvent.ACTION_DOWN
「MotionEvent.ACTION_MOVE」をキャプチャしましたが、Android 4.1.1では「MotionEvent.ACTION_MOVE」でビューを移動できましたが、2.3.3ではビューを移動できませんでした。動く。なぜだか分からない。findViewById(R.id.layoutMapMemoPhoto).invalidate() は 2.3.3 では動作しないようです。
public boolean onTouch(View v, MotionEvent event) {
FrameLayout.LayoutParams lParams = null;
final int X = (int) event.getRawX();
final int Y = (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
lParams = (FrameLayout.LayoutParams) v.getLayoutParams();
yDeltaImageView = Y - lParams.topMargin;
Log.d("DOWN");
break;
case MotionEvent.ACTION_MOVE:
lParams = (FrameLayout.LayoutParams) v.getLayoutParams();
lParams.topMargin = Y - yDeltaImageView;
v.setLayoutParams(lParams);
Log.d("MOVE");
break;
}
findViewById(R.id.id_of_parent_view).invalidate();
return true;
}