【发布时间】:2014-07-28 06:37:32
【问题描述】:
我正在开发拖放功能。效果很好,但是可以将按钮拖到屏幕宽度、高度之外。我只想在 1080*1920 的屏幕尺寸内拖动。请建议我。
我正在这样做:
onCreate
{
Button btn_tag=new Button(getApplicationContext);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
250,100);
lp.leftMargin = (int) event.getX();
lp.topMargin = (int) event.getY();// TOP MARGIN;
rl_main.addView(btn_tag, lp);
}
// Touch Event
final int X = (int) event.getRawX();
final int Y = (int) event.getRawY();
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) v
.getLayoutParams();
_xDelta = X - lParams.leftMargin;
_yDelta = Y - lParams.topMargin;
break;
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) v
.getLayoutParams();
layoutParams.leftMargin = X - _xDelta;
layoutParams.topMargin = Y - _yDelta;
v.setLayoutParams(layoutParams);
【问题讨论】:
-
你什么时候用lParams贴出来的
-
android 提供拖放功能。给你:developer.android.com/guide/topics/ui/drag-drop.html。它不允许走出屏幕。 :)
-
好的。问题已编辑。
标签: android view drag-and-drop