我使用android的drag& drop functionallity将一些图像视图移动到另一个图像视图中。这允许根据我投入到命运图像视图中的图像视图进行选择。
但是现在我必须考虑用户在选择时可能会犯错,并且需要某种重置按钮,这会将这些imageview返回到原来的地方并取消拖放。
我一直在阅读Android文档,并在谷歌上寻找这个,但我没有发现任何东西,所以我不知道是否存在这样的功能。
我会发布我的代码,如果有人可以知道如何获得它,但它只是这个功能的标准代码。
首先是Imageviews的一个监听器,当长时间单击它时会启动拖动操作:
private final class MyLongTouchListener implements OnLongClickListener {
@Override
public boolean onLongClick(View v) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
v.startDrag(data, shadowBuilder, v, 0);
v.setVisibility(View.INVISIBLE);
return true;
}
}
然后是命运图像视图中的放置操作的监听器:
class MyDragListener implements OnDragListener {
@Override
public boolean onDrag(View v, DragEvent event) {
int action = event.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_STARTED:
//...
break;
case DragEvent.ACTION_DRAG_ENTERED:
//...
break;
case DragEvent.ACTION_DRAG_EXITED:
//...
break;
case DragEvent.ACTION_DROP:
//...
break;
case DragEvent.ACTION_DRAG_ENDED:
//...
break;
default:
break;
}
return true;
}
}
答案 0 :(得分:-1)
仍然不知道该功能是否存在,但我找到了获得类似结果的方法。
如果要进行重置,只需执行finish()
,然后启动intent
即可重新启动活动。
这会让事情处于起步阶段,但在某些情况下可能没用。对我而言。