我正试图在安卓( android )的GridView
上实现拖放,但当我将item
拖到屏幕边缘时,GridView
无法滚动。如何实现此功能?
发布于 2012-09-28 17:23:33
首先,如果你不需要支持Android2.x( API <11 ),这个Andorid Drag and Drop tutorial就是你想要的。我从来没有尝试过这种方式,因为我必须在2.x上实现它,但我看到它看起来非常简单。
要实现自动滚动,我猜您可以在网格视图上使用ACTION_DRAG_EXITED或ACTION_DRAG_LOCATION,并在看到位置靠近视图边界时手动触发滚动。
如果你不得不在2.x上实现它,那么它将变得更加困难,你基本上需要自己实现所有的拖动事件,或者它们的一个子集。我用ListView做了一次,你要做的是:
使用touchEvent.
在GridView项( setDrawingCacheEnabled )上启用图形缓存,并使用getDrawingCache()复制DRAG_START上视图的位图。然后,您需要做的就是在ACTION_MOVE事件提供的位置使用绘制在GridView顶部的位图。
这并不容易,但如果你慢慢来,你会设法做到的。
更重要的是,我今天还没有检查,但也许你可以尝试谷歌一下,看看是否有人花时间实现了它,并发布了它的开源。
https://stackoverflow.com/questions/12236035
复制相似问题