【问题标题】:How to create context menu on double click?如何在双击时创建上下文菜单?
【发布时间】:2011-06-30 17:18:26
【问题描述】:

我需要在双击和长按时创建上下文菜单。怎么做?

我的意思是当用户长按小部件时通常会调用onCreateContextMenu。在我的情况下,当用户双击小部件时,我需要做同样的事情。

添加

我知道这不是一个很好的选择,因为它对于 Android UI 来说是不正常的。但我的主要问题是解决某些供应商设备的 UI 错误 - 即 HTC (look this post)。我似乎已经解决了所描述的问题,但我仍然遇到上下文菜单的问题。所以作为最后的手段,我只是想避免通过双击来点击。感谢理解...

【问题讨论】:

  • “我需要在双击和长按时创建上下文菜单。” - 为什么?这不是 Android 上的标准用户体验。
  • @CommonsWare - 看上面,我添加了一些 cmets

标签: android contextmenu double-click tap


【解决方案1】:

据我所知,您希望将上下文相关操作绑定到 EditText,而 HTC 对 Android 的更改正在干扰这一点。

首先,我会重新考虑使用上下文菜单,因为它们不是特别容易被发现,所以大多数用户永远找不到它们。

其次,在EditText 的情况下,用户发现双击会弹出上下文菜单的几率将与今天地球发生灭绝级小行星撞击的几率相当。

:: 仰望天空::

除了双击之外,一种选择是在EditText 旁边放置一个小的ImageButton,并带有一个向下的箭头(类似于Spinner),并将ImageButton 绑定到PopupMenu(理想,但仅限 API 级别 11)、PopupWindow 或 AlertDialog。或者,在紧要关头,让ImageButton 在通过showContextMenu() 单击时显示上下文菜单。这也是非标准的用户体验,但它至少更容易被发现,因为用户会习惯于在 Android 和其他操作系统上按下向下箭头按钮时弹出的东西。

如果您绝对确信您需要双击,AFAIK 不是可识别的触摸事件,因此您需要自己处理低级触摸事件,确定何时发生双击,然后这样做以不干扰EditText 使用的方式(例如,设置光标位置)。

【讨论】:

    猜你喜欢
    • 2017-05-13
    • 2011-11-08
    • 1970-01-01
    • 2012-12-09
    • 2014-07-27
    • 2021-04-03
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多