0
我只想在Y方向上拖放一个按钮。我实现了这个功能。但它跨越屏幕边界并消失。请帮助我实现我的目标。拖放一个按钮?
这里是我的代码
public class ChoiceTouchListener implements View.OnTouchListener{
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int x = (int) motionEvent.getRawX();
int y = (int) motionEvent.getRawY();
DisplayMetrics metrics = getResources().getDisplayMetrics();
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams tparams = (RelativeLayout.LayoutParams) view.getLayoutParams();
changey = y- tparams.topMargin;
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view.getLayoutParams();
params.topMargin = y-changey;
view.setLayoutParams(params);
break;
}
rootlayout.invalidate();
return true;
}
}
什么是你的代码中的“v”? – Hasnain
查看onTouch的参数。您可以在onTouch中编写代码并通过查看 – Anmol
来代替v。让我试试这个代码。 – Hasnain