如何在Android RelativeLayout中拖放视图

如何在Android RelativeLayout中拖放视图,第1张

概述我制作了自己的拖放功能.我想用RelativeLayout做这个,但这似乎不能很好地工作.在开始时,我可以告诉每个视图我想通过在View之前设置它来拖动它应该在哪个位置.但是当我想拖动一个视图时,它下面的所有其他视图也会被移动,因为它们想要保持我设置它们的顺序.但是我可以使用其他布

我制作了自己的拖放功能.

我想用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中拖放视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存