6

我有一个为 Android 2.2 构建的应用程序,所以我没有使用 3.0+ 内置的 ActionBar 类,而是使用几年前推出的 Google 较旧的 UI 推荐构建我自己的自定义 ActionBar 实现。

我的所有屏幕都有 1 到 3 个可以执行的操作,因此它们都非常适合 ActionBar UI(Google 建议最多有三个按钮)。现在的问题是我的屏幕都没有常规选项菜单,因此当用户按下硬件菜单按钮时它们什么也不做。

根据 Google 的界面指南,这是正确的行为。如果您的活动没有选项菜单,那么当按下菜单按钮时它应该什么都不做。然而,我在用户测试期间发现,用户在按下菜单时非常困惑并且没有任何反应(并且每个用户都尝试过,通常是多次)。他们说他们很欣赏通过 ActionBar 在屏幕上显示的操作,但同时他们希望菜单按钮能做一些事情。

我一直在查看 Google 的第一方应用程序,看起来他们总是有足够的选项可以在 ActionBar 已满后加载选项菜单。Google+ 似乎以传统方式使用菜单按钮在具有菜单的手机上显示溢出选项,并且它们在操作栏中为没有的手机显示下拉菜单。如果我有三个以上的动作,那会起作用,但我目前没有。

似乎满足我的用户期望的唯一方法是将一些没有价值的垃圾选项放入选项菜单中,以便在他们按下按钮时发生一些事情。我真的不想那样做。有人知道解决这个问题的好方法吗?我是否应该只保留菜单按钮并期望人们发现它没有做任何事情?

4

1 回答 1

4

我认为可以安全地假设大多数用户不知道菜单按钮的存在,并且最好将所有可操作的项目显示在屏幕上。Google 的用户测试揭示了这一点,这就是为什么他们选择取消菜单并使用从 Android 3.0 开始并在最近的 4.0 版本中达到顶峰的内置操作栏的原因。

需要考虑的是在 3.0 之前的选项菜单/3.0 之后的溢出菜单中添加一个“关于”项。这可能只是弹出一个对话框,其中包含有关应用程序的简单信息(例如,版本、许可、网站链接、作者等)。这样,如果他们碰巧按下菜单按钮,就会有一些事情发生,但这并不是正确使用每个活动以充分发挥其潜力所必需的。

我有一个为 Android 2.2 构建的应用程序,所以我没有使用 3.0+ 内置的 ActionBar 类,而是使用几年前推出的 Google 较旧的 UI 推荐构建我自己的自定义 ActionBar 实现。

作为一个动作栏库的作者,这句话让我很不安。在 pre-3.0 和原生的 post-3.0 上使用自定义操作栏实现相当简单。看看 Google 的Action Bar Compat示例。

...或者,你知道,你也可以使用像ActionBarSherlock这样的库来为你做这件事!</shamelessPlug>

于 2011-12-09T14:48:46.303 回答