我有一个ListActivity,我想为每个列表元素实现上下文菜单.我知道这样做的常用方法是在长按/点击时显示上下文菜单.我想知道是否有办法在按键上显示每个元素的上下文菜单(最好是菜单键).要重新解释我的问题,如何通过按菜单键(或任何其他键)来触发上下文菜单而不是选项菜单.
要打开上下文菜单,请致电openContextMenu().通过键触发它,覆盖onKeyDown()或onKeyUp().
话虽这么说,我真的不推荐这个.
用户抱怨Android没有UI标准.相反,Android具有UI约定,允许开发人员获得一些自由(更重要的是,不是让您的应用程序在Android Market上市的障碍).
但是,这些用户的观点是非常有效的 - 当应用决定在UI切线上时,他们的体验会受到损害.决定让MENU键弹出一个上下文菜单就是这样一个切线.对于初学者来说,在触摸屏设备上,这将无法正常工作,因为您的选择项目没有ListView,因此用户不清楚菜单的相关内容.
我怀疑对于你认为以这种方式解决的任何问题都有更好的解决方案.
我实际上已经为我的一个应用做了同样的事情,因为它对我的应用程序有意义.最好和最简单的方法是覆盖listActivity的onListItemClick().这比onKeyDown()更好,因为它特别适用于有问题的列表项(视图),并且只适用于列表项,而不适用于屏幕的其余部分.
onListItemClick(ListView l, View v, int position, long id)
{
v.showContextMenu();
}
Run Code Online (Sandbox Code Playgroud)
那么你所要做的就是覆盖上下文菜单方法,你就是金色的
| 归档时间: |
|
| 查看次数: |
7989 次 |
| 最近记录: |