Android Lollipop设备[Nexus 9和Nexus 5]上未显示菜单软键

6
我在我的Nexus 9和Nexus 5 [Android 版本为Lollipop]上找不到“菜单软键”。我开发的所有包含“选项菜单”的应用程序都没有显示“菜单软键”,因此我无法访问该“选项菜单”。此外,由于设计需求,我的一些应用程序不使用“Actionbar/Toolbar”,因此我正在寻找一种不添加“Actionbar/Toolbar”的解决方案。
因此,我想知道是否有一种方法可以在Android Lollipop中显示“菜单软键”?
更新:
这是我在Nexus 9上找到的一个示例应用程序。如您所见,它具有遗留应用程序的“操作溢出按钮”。有人能告诉我他们是如何做到的吗?

请返回已翻译的文本。 - Marcin Orlowski
@MarcinOrlowski,请查看我的更新问题。 - Sheraz Ahmad Khilji
2个回答

6
根据这篇博客文章:http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html 如果你的应用程序运行在没有专门的菜单按钮的设备上,系统将根据您在清单元素中声明支持的API级别来决定是否向导航栏添加操作溢出。逻辑可以概括为: 如果您将minSdkVersion或targetSdkVersion设置为11或更高版本,则系统不会添加传统的溢出按钮。 否则,在Android 3.0或更高版本上运行时,系统将添加传统的溢出按钮。
唯一的例外是,如果您将minSdkVersion设置为10或更低版本,将targetSdkVersion设置为11、12或13,并且不使用ActionBar,则系统将在Android 4.0或更高版本的手持设备上运行您的应用程序时添加传统的溢出按钮。
因此,请检查您的清单文件。

也许这是一个hack,但为了在Lollipop上显示选项菜单,我将构建目标更改为Lollipop 5.0.1,并在清单文件中添加了<uses-sdk android:minSdkVersion="10" />。现在它显示操作溢出图标。虽然我仍然困惑于只在清单中设置minSdkVersion是否起作用。 - Sheraz Ahmad Khilji

2

添加

  • 您的活动(YourActivity)扩展自AppCompatActivity
  • 添加方法onCreateOptionsMenu并填充菜单(getMenuInflater().inflate()(R.menu.menu_file, menu);
  • 添加到res->menu->menu_test.xml -> 任何具有(app:showAsAction="ifRoom")的项

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