我有一个为 Android 2.2 构建的应用程序,所以我没有使用 3.0+ 内置 ActionBar 类,而是使用几年前引入的 Google 旧 UI 推荐来构建我自己的自定义 ActionBar 实现。
我的所有屏幕都有 1 到 3 个可以执行的操作,因此它们都非常适合 ActionBar UI(Google 建议最多有三个按钮)。现在的问题是我的屏幕都没有常规选项菜单,因此当用户按下硬件菜单按钮时它们什么也不做。
根据 Google 的界面指南,这是正确的行为。如果您的 Activity 没有选项菜单,那么在按下 Menu 按钮时它应该什么都不做。然而,我在用户测试期间发现,当用户按下菜单但没有任何反应时,用户会感到非常困惑(而且每个用户都尝试过,通常是多次)。他们说他们很欣赏通过 ActionBar 在屏幕上显示的操作,但与此同时他们希望菜单按钮执行某些操作。
我一直在研究 Google 的第一方应用程序,看起来它们总是有足够的可用选项,以便能够在 ActionBar 填满后加载选项菜单。 Google+ 似乎以传统方式使用菜单按钮在有菜单按钮的手机上显示溢出选项,并且它们在没有手机的 ActionBar 中显示下拉菜单。如果我有三个以上的操作,那会起作用,但我目前没有。
似乎满足我的用户期望的唯一方法是将一些没有值(value)的垃圾选项放入选项菜单中,这样当他们按下按钮时就会发生一些事情。我真的不想那样做。有人知道解决这个问题的好方法吗?我是否应该只留下菜单按钮并期望人们发现它什么都不做?
最佳答案
我认为可以安全地假设大多数用户不知道菜单按钮的存在,最好在屏幕上显示所有可操作的项目。 Google 的用户测试揭示了这一点,这就是为什么他们选择从 Android 3.0 开始并在最近的 4.0 版本中取消菜单并使用内置操作栏。
需要考虑的是在 pre-3.0 选项菜单/post-3.0 溢出菜单中添加一个“关于”项目。这可能只是弹出一个对话框,其中包含有关应用程序的简单信息(例如,版本、许可、网站链接、作者等)。这样,如果他们碰巧按下菜单按钮,就会有一些东西,但为了充分发挥每个 Activity 的潜力,这并不是必需的。
I have an app that's built for Android 2.2, so I'm not using the 3.0+ built-in ActionBar class but rather building my own custom ActionBar implementation using Google's older UI recommendation that was introduced a couple of years ago.
作为 Action 条库的作者,这句话让我很不安。在 3.0 之前的版本和 3.0 之后的原生版本上使用自定义操作栏实现是相当简单的。看看谷歌的Action Bar Compat样本。
...或者,您也可以使用像 ActionBarSherlock 这样的库那是为你做的! </shamelessPlug>
关于android - 带有菜单按钮的手机上 ActionBar 的正确用户体验?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8447073/