【发布时间】:2016-08-15 14:50:36
【问题描述】:
在我的 Android 程序中,我想在线性布局中将图像视图从一个位置移动到另一个位置。图像视图被拖动,但是当我放置在某个位置时,它本身又返回到起始位置。我能做些什么?谷歌了很多,但没有得到解决方案。
我的 OnTouch:
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(img);
img.startDrag(data, shadowBuilder, img, 0);
img.setVisibility(View.INVISIBLE);
return true;
} else {
return false;
}
}
});
我的 OnDrag:
linearLayout.setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DROP:
View view = (View) event.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
owner.removeView(view);
LinearLayout container = (LinearLayout) v;
container.addView(view);
view.setVisibility(View.VISIBLE);
Log.d(msg, "ACTION_DROP event");
break;
default:
break;
}
return true;
}
});
【问题讨论】:
标签: android drag-and-drop android-studio-2.0