I am trying to move the TextView
around on the screen on my android app. But after dragging the TextView
to final position, Its randomly moving to other opposition.
private final class TextViewTouchListener implements View.OnTouchListener {
@Override
public boolean onTouch(View view, MotionEvent event) {
ClipData data = ClipData.newPlainText("", "");
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
//start dragging the item touched
view.startDrag(data, shadowBuilder, view, 0);
return true;
}
}
private final class TextViewDragListener implements View.OnDragListener {
@Override
public boolean onDrag(View v, DragEvent event) {
final float x = event.getX();
final float y =event.getY();
// handling the case when the textview gets dragged out of screen
leftMargin = Math.min(x, mDisplaySize.x - textview.getWidth());
topargin = Math.min(y, mDisplaySize.y - textview.getHeight());
final FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) textView.getLayoutParams();
params.leftMargin = (int) leftMargin;
params.topMargin = (int) topargin;
params.rightMargin = 0;
params.bottomMargin = 0;
textView.setLayoutParams(params);
return true;
}
}
Seems like I am handling it wrong. Can someone help me what exactly I am doing wrong.