我有一个ListActivity,我想为每个列表元素实现上下文菜单。我知道常用的方法是在长按/轻按上显示上下文菜单。我想知道是否有方法显示按键上每个元素的上下文菜单(最好是菜单键)。 要更改我的问题,如何通过按菜单键(或任何其他键)来触发上下文菜单而不是选项菜单。如何在按键上实现上下文菜单而不是长按/轻按
9
A
回答
8
要打开上下文菜单,请致电openContextMenu()
。要通过密钥触发它,请覆盖onKeyDown()
或onKeyUp()
。
这样说,我真的不推荐这个。
用户抱怨Android没有UI标准。相反,Android具有UI惯例,允许开发人员获得一些自由(更重要的是,让您的应用程序在Android Market上市时不会遇到障碍)。
但是,这些用户的观点非常有效 - 当应用程序决定停用UI切线时,他们的体验会受到损害。决定让菜单键弹出一个上下文菜单将是一个这样的切线。对于初学者来说,在触摸屏设备上,这不会很好,因为您的ListView
中没有选定的项目,所以用户不清楚MENU所涉及的内容。
我怀疑是否有更好的解决方案来解决您认为您以这种方式解决的任何问题。
6
我实际上为我的一个应用程序做了同样的事情,因为它对我的应用程序有意义。最好也是最简单的方法是为listActivity重写onListItemClick()。这比onKeyDown()更好,因为它专门针对有问题的列表项目(视图),并且仅适用于列表项目,而不适用于屏幕的其余部分。
onListItemClick(ListView l, View v, int position, long id)
{
v.showContextMenu();
}
那么所有你需要做的覆盖上下文菜单的方法和你的黄金
相关问题
- 1. Android上下文菜单长按
- 2. 调用按键事件,而不在JavaScript实际上按下键
- 3. 如何在WPF中右键单击按钮上下文菜单?
- 4. 在按钮上的Extjs上下文菜单(右键单击)
- 5. 按下键盘上相应键时如何按下按钮? JavaFX
- 6. 基于长按位置动态修改EditText中的上下文/长按菜单
- 7. 在菜单项上调用android上下文菜单按
- 8. 计算按键在键盘上按下的时间长度
- 9. 在按键上按下按键(按下按键后),跳转到奇怪行为
- 10. 在TextView中长按链接时显示上下文菜单
- 11. 在React Native中长按打开上下文菜单
- 12. 鼠标按键模拟 - 右键和上下文菜单问题
- 13. 如何在片段上实现后退按钮按下设备
- 14. 按下菜单按钮时不会出现android选项菜单
- 15. 带上下文菜单和按需表单的浮动按钮
- 16. 如何在不使用键盘的情况下按下键盘上的按键?
- 17. 如何在按下键盘的上下文菜单键时更新Excel单元格菜单
- 18. 如何增加按下按钮上的长按超时android
- 19. autoit3 - 触发上下文菜单打开按钮点击/按
- 20. 单选按钮只呈现单选按钮而不是文本
- 21. Qt按左键两次为上下文菜单消失
- 22. wxPython中的PopupMenu与按键激活上下文菜单项
- 23. 如何在android/ios设备上长按约束默认上下文菜单并显示自定义菜单?
- 24. 长按图片后在浏览器的上下文菜单上添加操作?
- 25. 如何实现对按键
- 26. 如何在不禁用上下文菜单的情况下拦截UITextView上的长按?
- 27. Android:从长按弹出菜单项创建上下文菜单项
- 28. 菜单按键不灵
- 29. 在HTML表单上提交Enter键而不是激活按钮
- 30. 中断游戏以在按钮上按下显示菜单
我同意,需要有一些正规的约定开发商遵循使消费者的Android使用体验,从一个更一致应用到另一个。但是,对于这个具体的问题,我相信有些情况下它是合适的,我自己也是这样做的。 – mtmurdock 2010-06-05 22:45:32
@mtmurdock:欢迎您提出意见。核心Android团队似乎没有分享它:http://developer.android.com/guide/practices/ui_guidelines/menu_design.html – CommonsWare 2010-06-05 23:12:13