我制作了自己的拖放功能.
我想用relativeLayout做这个,但这似乎不能很好地工作.
在开始时,我可以告诉每个视图我想通过在VIEw之前设置它来拖动它应该在哪个位置.
但是当我想拖动一个视图时,它下面的所有其他视图也会被移动,因为它们想要保持我设置它们的顺序.
但是我可以使用其他布局吗?我必须在不同的屏幕尺寸上使用这种拖放功能,所以我不能给它们固定的x和y值.
解决方法:
我前面遇到同样的问题,如果你不想拖动其他视图(在视图的下方或上方或旁边)以及被拖动的视图,那么使用VIEwGroup.LayoutParams而不是relativeLayout.LayoutParams,后者是导入的如果按Ctrl-Shift-O,则将其手动更改为前者.
编辑:既然你想要我如何实现它的描述,这是实际的代码
marginLayoutParams marginParams = new marginLayoutParams(image.getLayoutParams()); int left = (int) event.getRawX() - (v.getWIDth() / 2); int top = (int) event.getRawY() - (v.getHeight()); marginParams.setmargins(left, top, 0, 0); relativeLayout.LayoutParams layoutParams = new relativeLayout.LayoutParams(marginParams); image.setLayoutParams(layoutParams);
我不得不做很多研究来实现同样的目标,我花了2天的时间才发现一个名为marginLayoutParams的东西存在……
确保你有
import androID.vIEw.VIEwGroup.LayoutParams;import androID.vIEw.VIEwGroup.marginLayoutParams;
作为您的导入而不是relativeLayout.LayoutParams.
还要确保将marginparams投射到相对布局
祝你好运……
以上是内存溢出为你收集整理的如何在Android RelativeLayout中拖放视图全部内容,希望文章能够帮你解决如何在Android RelativeLayout中拖放视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)