Android 拖放

Android drag & drop

在我开始解释问题之前我需要说一件事:我是 android 编程的新手,我可以毫无问题地使用 java,但我仍然不知道android 包和 classes。 我有一个 2 列的 LinearLayout,在第一列中有一些按钮,第二列包含一个 scrollView,在这个 scrollView 中应该有一些...用户可以添加的项目,这些项目有一个标题和一个文本,我已经在另一个 class 中定义了 objects,然后我通过按钮将它们添加到 scrollView。 从现在开始,我在 object 中添加了一个用于删除项目的按钮,但现在我意识到它真的很难看,所以我在想:是否可以允许用户将项目拖放到画面删除了吗? 我当然可以通过与一些听众一起管理项目上的压力和释放事件来做到这一点,但我几乎可以肯定有一些 android class 是为滑动 UI 组件创建的。 类似于您对 android 通知所做的事情。

我post一张当前应用程序的图片,这样你可以更好地理解我说的话:http://i.stack.imgur.com/fHWK3.jpg(我没有足够的声誉来post图片)

如果我不清楚,请说出来,我会根据要求的信息进行编辑。

更新: 在阅读了 Bonatti post 在他的回答中编辑的资源后,我添加了一个 OnLongClickListener 用于开始放置,以及一个 OnDragListener 用于在放置过程中查看坐标拖动,现在我有一个问题......我只需要水平拖动我的组件,就像你通常如何从通知栏中删除通知一样,我想到了这样一个事实,我可以保存由创建的阴影的 Y-location当我创建它时 DragShadownBuilder,然后如果 Y-location 现在与开始时不同,我可以检查 OnDrag 事件我更正它,但问题是......我如何访问阴影的位置?

您所要求的基础知识可以在这里找到: 我不能 post 超过 2 个链接,所以重做这些: http://developer.android.com/guide/topics/ui/拖-drop.html

这些其他内容可能会帮助您详细了解您的需求: Link 1: code.tutplus Or Link 2: vogella 他们都能满足您的需求。

简单来说: 您需要一个 "action" 来接收 button/something 被按下的消息(并且仍在被按下),然后更新屏幕以匹配项目位置