1

本质上,我对何时以及如何在 Android 设备 3.0 及更高版本上带有和不带有菜单按钮的设备显示选项菜单感到困惑。

特别关注选项菜单,我从阅读中知道选项菜单在 onCreateOptionsMenu 中被夸大(无论是通过菜单按钮还是操作栏),并且谷歌开发者网站指出“选项菜单中的项目出现在屏幕上取决于哪个版本你已经开发了',即底部菜单或操作栏。

我在 Nexus 4 和三星手机上尝试了一些应用程序(例如 gmail),它们都带有 Jelly Bean。Nexus 没有菜单按钮,gmail 在操作栏中显示选项菜单。三星有一个菜单按钮,没有操作栏,你必须按菜单。

选项菜单是否由 Android 自动处理,或者应用程序中是否存在一些代码来确定是否存在菜单按钮?

此外,让我更加困惑(即与此想法相矛盾)的是,Android 开发人员网站说,如果您使用 Theme.Holo,您会得到一个操作栏,这告诉我,操作栏的显示方式并不是隐含的。

感谢您的任何指导。

4

2 回答 2

1

如果您想检查设备是否有软键,请使用 hasPermanentMenuKey 使用

boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();

如果返回 true,则表示您没有软键。

如果猜测大多数 android 应用程序都有某种内置功能来进行类似的检查并确定是否需要菜单。

于 2013-07-26T13:56:41.717 回答
0

通常从 Android 4.0 开始,嵌入到 ActionBar 的菜单选项和菜单按钮被删除,但这不是必需的,只是可选的,你必须在代码中处理它才能显示给用户对于三星上的菜单按钮,我猜它只在三星型号,因为如果您可以查看其他设备制造商的新型号,则根本没有菜单按钮。三星将操作栏中的选项按钮带到菜单按钮(硬件按钮)。

于 2013-07-26T14:08:57.363 回答