RelativeLayout - 拖动自定义视图

时间:2012-12-15 19:28:37

标签: android

我有一个带有onTouch()侦听器的自定义视图。 此视图将添加到RelativeLayout中,因此:

CustomView mv = new CustomView(mActivity);
RelativeLayout rl = ((RelativeLayout) mActivity.findViewById(R.id.main_layout));
rl.addView(mv);

我希望用API8下的手指拖动视图,最好是驻留在视图自己的onTouch()侦听器中的代码。

在setPadding()或RelativeLayout.LayoutParams()的边缘可能只有几行代码,但经过一个小时的试错,我找不到它。

任何线索?非常感谢。

PS:onTouch的工作方式应该如此,我只是不知道我可以添加哪些代码来移动视图。

1 个答案:

答案 0 :(得分:1)

我建议使用FrameLayout然后更改CustomView的边距,如下所示:

LayoutParams params = (FrameLayout.LayoutParams) mv.getLayoutParams();
params.leftMargin = x;
params.topMargin = y;
mv.setLayoutParams(params);

希望这有帮助。