安卓 - 如何在Galaxy Nexus上显示菜单按钮

7
我需要让Galaxy Nexus上的某些活动显示菜单按钮。由于默认情况下隐藏它,我找不到如何做到这一点。我不想创建一个操作栏,因为它会占用我想要用于其他事情的更多空间。当将“android:targetSdkVersion”值设置为低于14时,似乎会显示菜单按钮,但否则会隐藏它。顺便说一句,活动需要全屏显示,没有标题/操作栏。
很奇怪的是,许多地方(甚至是启动器)默认情况下都不显示此按钮,而在某些地方确实存在。对于许多Android设备来说,这样的按钮是非常基本的。Google决定不仅如此,而是认为切换按钮更重要,并且默认情况下显示它(无法长按Home键时,不知道是否可能隐藏它,但我猜测不行)。
无论如何,请帮助我。我对Android 4还很陌生。
3个回答

8

在ICS中,“菜单”按钮已被弃用。你有以下几个选项:1)运行在遗留模式下(targetSdkVersion < 14),2)使用带或不带溢出菜单按钮的操作栏,3)在应用区域中添加一个菜单按钮,4)不使用菜单,直接将其操作添加到应用区域中。


请问您能否提供一个说明它已被弃用的参考文献吗? 只是因为很多应用程序使用这个按钮。 并非所有设备都像平板电脑那么大,因此屏幕空间很珍贵。 - android developer
1
从Android 4.0兼容性定义(CDD)中可以看出:“当targetSdkVersion < 10时,设备实现必须向应用程序提供菜单键,并且当targetSdkVersion >= 10时不应提供菜单键”。此外,还需查看关于Android >= 3.0中optionMenu的相关信息:http://developer.android.com/guide/topics/ui/menus.html。 - user1076637
2
谢谢。我希望他们有一天能改变想法,为底部按钮提供更灵活的API。我认为在Android上拥有菜单按钮是非常基本的事情,因为我在每个Android设备上都看到了它。 - android developer
菜单按钮可在targetSdkVersion < 11中使用(在运行KitKat的Nexus 7上进行了测试)。 - Ben Hutchison

3
在新一代Android手机上,由于屏幕更大,菜单按钮更多是一个传统遗留物。通常最好使用操作栏(1)来提供用户通常在菜单上执行的操作。这些被称为“操作项”,并且它们会直接显示在操作栏上,而不需要用户点击菜单按钮,因此提供了更好的用户体验。
(1)http://developer.android.com/guide/topics/ui/actionbar.html

3
但是在新版本中,它们出现在屏幕的顶部,而在之前的版本中,由于它在底部,因此靠近手指。另外,对于需要全屏显示的应用程序,无法通过菜单按钮访问菜单,因为在这种情况下无法共存。就像他们强制你使用这个用户界面一样,尽管一些开发人员(和用户)更喜欢将其放在不同的位置。 - android developer
我猜测新的ActionBar是为了更好地在各种设备上(手机、平板电脑、电视等)进行自动定位而设计的。还要注意ActionBar的分割选项。它允许将一些控件放置在底部,根据您的喜好进行设置。 - user1076637
3
但它仍然占用了无用的空间。:( 我简直无法相信新的用户界面是如此不可定制。底部按钮好像毫无意义-没有API可供使用或自定义它们。当他们展示屏幕上的按钮时,我以为我们可以在那里添加自己的按钮,但实际上更糟糕-即使我们只想添加选项菜单,也需要添加额外的栏... - android developer
此外,我认为拆分选项只是建议 Android 在空间不足时使用它的一种方式。 - android developer
是的,实现操作栏真是一件让人头疼的事情。特别是当你所有的应用程序都使用旧式菜单时,现在你必须花更多的开发时间来创建这个操作栏。我想谷歌并不关心在他们的新功能上浪费开发者的时间。 - IgorGanapolsky

0

targetSdkVersion不再影响旧版溢出菜单按钮在新设备和操作系统上的可见性,它已经死了。


1
确实。事情已经发生了很大的变化。它甚至不再具备兼容性。 - android developer

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