kra*_*moe 3 android drag-and-drop android-layout
我制作了自己的拖放功能.
我想用a做这个RelativeLayout
,但这似乎不能很好地工作.在开始时,我可以告诉每个人View
我想通过将它设置在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);
Run Code Online (Sandbox Code Playgroud)
我不得不做很多研究才能达到同样的目的,我花了两天时间才发现一个名为MarginLayoutParams的东西存在......
确保你有
import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.MarginLayoutParams;
Run Code Online (Sandbox Code Playgroud)
作为你的进口而不是RelativeLayout.LayoutParams
.
还要确保你将marginparams投射到你的相对布局中祝你好运...
归档时间: |
|
查看次数: |
8847 次 |
最近记录: |