Sha*_*adi 5 android galaxy-nexus
我在我的应用程序中使用选项菜单.但是当我在Galaxy Nexus上安装应用程序时,我没有看到选项菜单,因为默认情况下它没有选项菜单按钮.如何在我的应用程序中仅为Galaxy Nexus显示选项菜单按钮?使用其他手机很好,我可以选择菜单.
Mic*_*ley 13
在Android 3.0中,Google从使用专用菜单键切换到使用ActionBarfor菜单功能.如果您的构建目标是3.0或更高,您的菜单将默认使用ActionBar.
如果手机上有菜单键,则操作栏中三个圆点图标通常显示的任何选项都会显示菜单按钮.如果手机上没有菜单键,则操作栏上将显示所有选项.由于菜单键即将消失,因此鼓励您使用ActionBar3.0及更高版本的菜单.
现在,在没有菜单键的新平台上运行的旧应用程序将在最近的应用程序按钮旁边生成虚假菜单键.这个临时菜单键只有在你的构建目标是2.3.4或更低时才会出现,因为它只是出于向后兼容的原因.(编辑:构建目标应该是任何小于,或包括API 13)
在您的情况下,您应该使用ActionBar您的菜单,因为您正在构建一个较新版本的Android.如果您担心向后兼容性,那么您始终可以使用ActionBarSherlock等库来使用旧平台上的操作栏.
你需要考虑为什么你想要一个"选项"按钮 - 这是一个古老的,糟糕的模式,已经取代了ActionBar真正更好的模式.
但是你可能需要它,出于客户的原因(比如我需要为客户端保留它).如果是这种情况,那么你可以按照我的建议(稍微编辑一下,错误地提到"动作栏")
您可以build target在ICS之前设置版本(即包括API 13/HoneyComb 3.2).
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="13" />
Run Code Online (Sandbox Code Playgroud)
这将使系统使用兼容模式设置,将overflow图标插入手机的底部按钮栏 - 这应该提供您所需的功能.按下此按钮的响应与按Samsung Galaxy S2上的"菜单"按钮的响应相同.
在这里,您可以看到兼容性"选项"按钮,以及按下时显示的菜单:

正如其他评论员所提到的,你应该考虑更好的选择ActionBar模式.如果你想向后兼容,那么我推荐Action Bar Sherlock库.
但是如果你正在寻找快速解决方案,或者客户端无法承受大型重构转移到Action Bar模式,那么这就是实现它的方法.
从 android 版本 3.x (Honeycomb) 开始,选项菜单已停止。因此,最新手机上不强制要求存在选项菜单按钮。所以去操作栏吧。您可以使用Sherlock ActionBar库来支持所有平台上的操作栏。
更新:用户ActionBarCompat