新一代安卓设备上的菜单按钮

3
我正在创建一个适用于2.3.3版本及更高版本的Android应用程序(使用相同的SDK版本),并且我已经使用了一个遗留菜单按钮。
我还使用了一个自定义的ActionBar库,它没有菜单溢出(?)功能。所以,在新的Android设备上,是否有任何方法可以在没有物理菜单按钮的情况下显示菜单?最好不要改变ActionBar使用另一个库,也不要使用Android的新SDK?
谢谢。

我也使用了一个自定义的ActionBar库,它没有菜单溢出(?)功能。为什么?为什么不使用像ActionBarSherlock这样具有溢出菜单的库呢? - CommonsWare
@CommonsWare 我有一些特定的理由...我知道ActionBarSherlock。 - Roshnal
2个回答

3
我已经实现了一个“遗留菜单”按钮。为什么?如果您的应用程序是传统的,Android会自己处理它,在Honeycomb及以上版本中会添加屏幕上的菜单按钮,因此您不需要担心。请参阅此文章:Say goodbye to menu button

如果您的应用程序在没有专用菜单按钮的设备上运行,则根据您在清单元素中声明支持的API级别决定系统是否将操作溢出添加到导航栏中。逻辑归结为以下几点:
- 如果将minSdkVersion或targetSdkVersion设置为11或更高版本,则系统不会添加旧版溢出按钮。
- 否则,在运行Android 3.0或更高版本时,系统将添加旧版溢出按钮。
- 唯一的例外是,如果将minSdkVersion设置为10或更低版本,将targetSdkVersion设置为11、12或13,并且您未使用ActionBar,则系统将在Android 4.0或更高版本的手机上运行应用程序时添加旧版溢出按钮。

对于传统的应用程序,软菜单键看起来像这样:
enter image description here

1
好的,如果我保持现在这样,它会在没有物理菜单按钮的设备(例如:HTC One S)上显示软菜单按钮吗? - Roshnal
是的,我在答案中添加了截图 - 右侧的这些“点”是菜单“键”。 - Marcin Orlowski
@CommonsWare 请阅读我的问题 - 我认为很清楚我没有任何类型的溢出,所以这就是旧菜单,就像在Android 2.3 - 2.2设备中一样。 - Roshnal
1
@Roshnal:在Android 3.0+中,“像Android 2.3-2.2设备中的旧菜单”被称为溢出菜单。 - CommonsWare
@CommonsWare 我已将其设置为对应Android 2.3.3版本。 - Roshnal
显示剩余3条评论

0

你也可以查看我过去几天的一些答案。这两个问题都是关于ActionBarSherlock的。

答案1

答案2

注意:正如这两个答案中提到的,我想再强调一下。这只是为那些仍然想要强制使用溢出菜单的开发人员提供一个选项。


谢谢回答,但我已经使用了另一个小型的ActionBar库。不是ActionBarSherlock... - Roshnal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接