【问题标题】:How to start drag and also handle single click/tap on a view如何开始拖动并处理单击/点击视图
【发布时间】:2016-09-09 15:13:48
【问题描述】:

我正在尝试将视图从一个地方拖到另一个地方,并且只需单击/点击即可执行完全不同的操作,而无需拖动视图。

现在我有一个长按监听器可以像这样开始拖动

view.setOnLongClickListener(..
....
view.startDrag(...

对于我的单击,我使用这样的点击监听器

view.setOnClickListener(...
// My completely different action

我怎样才能拥有它,这样我就不必使用长按来开始拖动,而是可以通过允许用户简单地将他/她的手指从我的视图移动到目标来开始拖动。

【问题讨论】:

标签: android drag-and-drop onclicklistener onlongclicklistener


【解决方案1】:

使用 view.setOnTouchListener(.. 只要您触摸该项目,该功能就会被调用。在这个函数中,你应该调用你的 view.startDrag(... 函数,你就可以开始了。 玩得开心,保重。

【讨论】:

  • setOnTouchListener 在我触摸该项目后立即被调用,我可以从那里开始拖动,但我还希望单击/单击以完全执行单独的功能。使用 setOnTouchListener 并开始拖动会禁止这种情况发生
  • 我认为你不能那样做。
【解决方案2】:

在触摸监听器内部使用延迟线程

因为当你移除手指时点击有效,移除手指后无法拖动

【讨论】:

    猜你喜欢
    • 2016-08-28
    • 1970-01-01
    • 2011-06-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多