gpt4 book ai didi

Android:如何在将项目拖动到边缘时自动垂直滚动 GridView

转载 作者:行者123 更新时间:2023-11-29 00:36:43 24 4
gpt4 key购买 nike

我正在尝试在 android (ICS) 中的 GridView 上实现拖放操作,但是当我将 item 拖到屏幕边缘时,GridView 不滚动。如何实现此功能?

最佳答案

首先,如果你不需要支持 android 2.x ( API <11 ) 这个 Andorid Drag and Drop tutorial是你要找的。我从未尝试过这种方式,因为我必须在 2.x 上实现它,但我看了一下它似乎非常简单。

要实现自动滚动,我猜你可以使用 ACTION_DRAG_EXITEDACTION_DRAG_LOCATION在 GridView 上,当您看到该位置靠近 View 边界时手动触发滚动。

如果您改为必须在 2.x 上实现它,那么它将变得更加困难,您基本上需要自己实现所有 DRAG 事件或其中的一个子集。我用 ListView 做了一次,你需要做的是:

  • 重写 gridView touchEvent。
  • 使用 Action ACTION_MOVE、ACTION_DOWN、ACTION_UP 触发拖动事件

在 GridView 项上启用绘图缓存(setDrawingCacheEnabled)并使用 getDrawingCache()在 DRAG_START 上复制 View 的位图。您所要做的就是使用在 ACTION_MOVE 事件给您的位置处绘制在 GridView 顶部的位图。

这并不容易,但如果你花时间,你可以设法做到。

此外,我今天还没有检查,但也许你可以尝试谷歌一下,看看是否有人花时间实现它并将其开源。

关于Android:如何在将项目拖动到边缘时自动垂直滚动 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com