没有硬件的“选项”按钮,如何让选项菜单出现?

4

我正在使用以下内容:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

对于设有“硬件选项按钮”的设备,菜单可以正常工作,菜单项会按预期显示在屏幕底部。

如何让“选项”按钮在没有这个“硬件按钮”的设备上显示?

我想要的是:

请查看截图

如果我禁用了(Fullscreen)样式,则菜单也会像预期的那样显示在右上角。

3个回答

3

您截图中提到的“按钮”只有在您的应用程序清单中的目标SDK值小于11时才可用,因为它是一个兼容性技巧,适用于那些期望设备有硬件菜单按钮但未更新以使用操作栏菜单的应用程序。

如果您使用操作栏菜单,则期望您不会将其永久隐藏(至少不会这样做)。


哇!!你说得完全正确!我尝试将我的SDK目标降低到“11”以下,它起作用了,我没有预料到会得到这样的答案。非常感谢。我相信这不是一个容易找到的答案,但肯定是你的专业知识的原因,而且我看到你的“声誉先于你”。 - K-19
那么你有什么建议?是禁用全屏并保持最高的SDK,还是继续使用“10”SDK并享受令人惊叹的全屏体验?我在我的IceCream Sandwich上尝试了该应用程序,它运行良好。 - K-19
@K-19,虽然我不确定这个技巧是否适用于全屏主题,但也许你可以添加一个自定义按钮并将其钩子连接到openOptionsMenu() - ozbek
我在长时间的搜索后找到了这个链接:http://developer.android.com/design/patterns/compatibility.html。它证实了Devunwired所说的内容。 - K-19

0

只需将Manifest xml文件中的目标SDK更改为目标SDK 10即可:

  <uses-sdk android:minSdkVersion="10"  android:targetSdkVersion="10"/>

然后您将在右下角获得三个点的圆形菜单按钮。

还请注意,当您更新apk时,在Google Play上会遇到一个问题,即Google不允许您降级到较低的targetSdkVersion。


0

当使用这行代码时,您正在隐藏包含菜单项的ActionBar

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

我不确定你为什么这样做,但如果你想让它们显示出来,就不要使用这个主题


是的,你说得对,我是故意这样做的,全屏有时看起来更好,而且提供了更多的空间来玩,为什么不呢? - K-19

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