У меня есть одна кнопка и я могу перетаскивать ее куда угодно на экране, но она при перетаскивании выходит за пределы экрана, так как же перетаскивать только внутри экрана, чтобы она не выходила за пределы экрана
Button.setOnTouchListener(new TextView.OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
X_button = (int) event.getRawX();
Y_button= (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
_xDelta = X_button - lParams.leftMargin;
_yDelta = Y_button - lParams.topMargin;
break;
case MotionEvent.ACTION_UP:
if(!isMoving)
{
view.performClick();
}
isMoving=false;
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
isMoving=true;
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
.getLayoutParams();
layoutParams.leftMargin = X_button - _xDelta;
layoutParams.topMargin = Y_button - _yDelta;
layoutParams.rightMargin = -250;
layoutParams.bottomMargin = -250;
view.setLayoutParams(layoutParams);
break;
}
return true;
}
});