タッチリスナーが機能しません。画像を画面上にドラッグして、前の位置にドロップする必要があります。
そのために、私は以下のようにコードを書きます:
class Mylistener implements OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
MarginLayoutParams marginParams = new MarginLayoutParams(v.getLayoutParams());
layoutParams2 = (RelativeLayout.LayoutParams) v.getLayoutParams();
//int left=0,top=0;
switch(event.getActionMasked())
{
case MotionEvent.ACTION_DOWN:
startx=(int) event.getRawX();
starty=(int) event.getRawY();
System.out.println("ACTION DOWN: "+startx+","+starty);
break;
case MotionEvent.ACTION_MOVE:
int left = (int) event.getRawX() - (v.getWidth() / 2);
int top = (int) event.getRawY() - (v.getHeight());
marginParams.setMargins(left, top, 0, 0);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
v.setLayoutParams(layoutParams);
break;
case MotionEvent.ACTION_UP:
marginParams.setMargins(startx, starty, 0, 0);
layoutParams2 = new RelativeLayout.LayoutParams(marginParams);
System.out.println("ACTION UP: "+startx+","+starty);
v.setLayoutParams(layoutParams2);
default:
break;
}
return true;
}
}
ただし、画面上をドラッグし、前の位置にドロップしません。助けてください