1

我创建了一个拖放网格视图(使用OnDragListener)。网格项目可以相互丢弃。但是,我也希望能够重新订购它们。我实现了这个,但还有一个主要问题:用户控制部分。

当我在我的阴影对象周围拖动时,我希望这些项目在我拖动它的同时为我拖动的对象腾出空间。我已经实现了其他项目的移动,但我似乎无法找到一种方法来找出如果/何时我在两个项目之间。当我将鼠标悬停在一个项目上方时,我会收到拖动事件,但不会在这两者之间。onTouchEvent当我拖动时,gridview 没有接到任何电话,甚至没有onInterceptTouchEvent接到电话。

有谁知道我可以实现这一点的方法?

我已经尝试过:

  1. 在gridview中实现onTouchEvent和。问题:当我拖动一个项目时,onInterceptTouchEventgridview 没有接到任何电话,甚至没有接到电话。onTouchEventonInterceptTouchEvent

  2. draglistener在整个网格视图上设置另一个。问题:ACTION_DRAG_LOCATION只被调用几次,而不是每次移动(位置更改),如记录(!!)。

4

1 回答 1

0

我删除了网格项目之间的填充,并给了项目本身一些额外的大小,这样你就永远不会在项目之间,而且在其中一个项目的一侧。我检测到我何时在一个项目的一侧并相应地移动这些项目以为我拖动的项目腾出空间。

于 2013-10-07T12:14:02.430 回答