1

我有一个带有 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 工作正常,我只是不知道我可以添加哪些代码行来移动视图。

4

1 回答 1

1

我建议使用 FrameLayout 然后像这样更改 CustomView 的边距:

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

希望这可以帮助。

于 2012-12-16T00:54:55.430 回答