Android拖放另一个视图

时间:2015-12-31 12:26:04

标签: android

我正在制作Android应用,我想要这个功能: 用户可以拖动一些视图,当他在另一个视图上移动时,我可以注册他在某个视图上删除并对该视图进行一些操作。

例如:

有两个ImageView,一个蓝色一个红色,还有第三个ImageView,当用户将第三个ImageView放在蓝色上时我必须调用method1(),否则当用户放入红色时我必须调用{{ 1}}。

我已经实现了standrad拖动侦听器:

method2()

2 个答案:

答案 0 :(得分:1)

您不需要计算rects。你应该调用setOnDragListener两次,一次在红色图像视图上处理它上面的拖放事件,一次调用蓝色图像视图来处理它上面的拖放事件。另外,为了防万一,我还没有看到您需要在触摸事件期间拖动用户的视图上调用startDrag的代码以开始拖动。

答案 1 :(得分:0)

因此,您需要调用 view.startDrag 才能收听回调。

您可以在 ACTION_MOVE 中移动您的视图,并在 ACTION_DROP 中检查交叉点。

这也可以通过OnTouchListener直接实现。

您可以获得完整的示例 here