попробуй реализовать на сенсорном слушателе.
new View.OnTouchListener() {
private float downX = 0;
private float downY = 0;</p>
<code> @Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case (MotionEvent.ACTION_DOWN):
this.downX = motionEvent.getX();
this.downY = motionEvent.getY();
break;
case MotionEvent.ACTION_MOVE:
final View btn= layout.findViewById(R.id.button);
currentView.layout(newLeft,
newTop, newRight,
newBottom));
break;
}
return true;
}
}
</code>