我有一款专为Android 2.2而设计的应用程序,所以我没有使用3.0+内置的ActionBar类,而是使用Google几年前推出的旧版UI建议构建我自己的自定义ActionBar实现。 / p>
我的所有屏幕都有1到3个可以执行的操作,因此它们都非常适合ActionBar UI(Google建议最多有三个按钮)。现在的问题是我的屏幕都没有常规选项菜单,所以当用户按下硬件菜单按钮时它们什么也不做。
根据Google的界面指南,这是正确的行为。如果您的活动没有选项菜单,则按下“菜单”按钮时不应执行任何操作。然而,我在用户测试期间发现,当用户按下菜单并且没有任何反应(并且每个用户都尝试过,通常多次)时,用户非常困惑。他们说他们欣赏通过ActionBar在屏幕上显示的动作,但同时他们希望菜单按钮能够做些什么。
我一直在关注Google的第一方应用程序,看起来他们总是有足够的选项可以在ActionBar已满后加载选项菜单。 Google+似乎在传统方式中使用“菜单”按钮来获取具有一个的手机上的溢出选项,并且它们会在ActionBar中显示一个下拉菜单,用于不支持的手机。如果我有三个以上的动作,那我就行了,但我现在没有。
似乎满足用户期望的唯一方法是将一些没有价值的垃圾选项放入选项菜单中,以便在按下按钮时发生某些事情。我真的不想那样做。有人知道处理这个问题的好方法吗?我应该单独留下菜单按钮并期望人们发现它什么都不做?
答案 0 :(得分:4)
我认为可以安全地假设大多数用户不知道菜单按钮存在并且屏幕上显示的所有可操作项目都是最佳的。 Google的用户测试显示了这一点,这就是为什么他们选择取消菜单并使用内置的操作栏开始使用Android 3.0并最终在4.0版本中推出。
要考虑的事情会在3.0之前的选项菜单/ 3.0之后的溢出菜单中添加一个“关于”项目。这可以只弹出一个对话框,其中包含有关应用程序的简单信息(例如,版本,许可,链接到网站,作者等)。这样就可以按下菜单按钮,但是为了最大限度地利用每项活动,不需要它。
我有一款专为Android 2.2而设计的应用程序,所以我没有使用3.0+内置的ActionBar类,而是使用Google几年前推出的旧版UI建议构建我自己的自定义ActionBar实现。 / p>
作为行动酒吧图书馆的作者,这句话让我感到不安。使用3.0之前的自定义操作栏实现和3.0之后的本机操作栏相当简单。请查看Google的Action Bar Compat示例。
...或者,你知道,你也可以选择ActionBarSherlock之类的图书馆来为你做这件事! </shamelessPlug>