【问题标题】:How action bar on devices with menu button functions具有菜单按钮功能的设备上的操作栏如何
【发布时间】:2013-07-10 20:01:10
【问题描述】:

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

特别关注选项菜单,我从阅读中了解到选项菜单在 onCreateOptionsMenu 中被夸大(无论是通过菜单按钮还是操作栏),并且 Google 开发人员网站指出“选项菜单中的项目出现在屏幕上取决于您开发的版本”,即底部菜单或操作栏。

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

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

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

感谢您的指导。

【问题讨论】:

标签: android-menu


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      相关资源
      最近更新 更多