如何在软件键盘上添加菜单按钮

3
我有一个Xperia V手机,像大多数新手机一样,它没有任何物理按键,而是在显示屏上显示Home、Back和类似Tasks的软件按钮。我想知道如何在应用程序中添加一个菜单按钮,在没有标题栏的情况下,这个菜单按钮(它是三个点)必须出现在其他软件按钮旁边。请问我该怎么做?
2个回答

1
作为入门提示,你会听到很多人告诉你这是一个不好的想法,并且是一种旧的UI模式。他们是正确的...
以下是我在相关问题上的答案 - 以及其他许多有关该主题的观点(有些非常有趣): 我特别喜欢@nicopico's answer中提到的“Compatibility Menu of Shame”参考。
请考虑是否真的需要它 - 只在极端情况下使用,比如你的客户坚持要求。否则,请避免使用此模式。

您可以将构建目标设置为ICS之前的版本(即API 13 / HoneyComb 3.2及以下版本)。

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

这将使系统使用兼容模式设置,在您手机的底部按钮栏中插入一个overflow图标 - 这应该提供您需要的功能。按下此按钮将产生与在三星Galaxy S2上按下“菜单”按钮相同的响应。


在这里,您可以看到兼容性“选项”按钮以及按下该按钮时显示的菜单:

ICS compatibility options button on Galaxy Nexus


注意:

正如其他评论者提到的那样,您应该考虑使用更好的ActionBar模式。如果您需要向后兼容,则我推荐使用Action Bar Sherlock库。

但是,如果您正在寻找快速解决方案,或者客户无法承担大规模重构以转移到Action Bar模式,则可以采用此方法。


我建议阅读这篇文章:http://android-developers.blogspot.sk/2012/01/say-goodbye-to-menu-button.html - Koso

1
在你的AndroidManifest中,你需要将targetSdkVersion设置为13或更早: <uses-sdk android:targetSdkVersion="13" />。这将强制ICS在兼容模式下运行应用程序,并在系统栏中显示3个点以显示溢出菜单。 但是,正如koso和Richard Le Mesurier所说,这是一个非常糟糕的想法。你应该使用Action Bar模式或Fly-In App Menu模式(Slide Menu)来实现这个目的。

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