Android 什么决定传统菜单按钮是否显示在蜂巢系统栏中?
我有一个有很多活动的应用程序。我在清单中设置:Android 什么决定传统菜单按钮是否显示在蜂巢系统栏中?,android,Android,我有一个有很多活动的应用程序。我在清单中设置: <uses-sdk android:minSdkVersion="4" targetSdkVersion="11"/> 我还设置了一个v11风格,以便所有活动都使用v11+上的全息主题 问题是我的所有活动都在系统栏上显示传统菜单按钮。具有菜单的活动(我在其中使用OnCreateOptions菜单的活动)同时显示传统菜单按钮和操作栏溢出菜单按钮。按下传统按钮可展开屏幕右上角的菜单 在我不使用OnCreateOptions菜单的活动
<uses-sdk android:minSdkVersion="4" targetSdkVersion="11"/>
我还设置了一个v11风格,以便所有活动都使用v11+上的全息主题
问题是我的所有活动都在系统栏上显示传统菜单按钮。具有菜单的活动(我在其中使用OnCreateOptions菜单的活动)同时显示传统菜单按钮和操作栏溢出菜单按钮。按下传统按钮可展开屏幕右上角的菜单
在我不使用OnCreateOptions菜单的活动中,仍然有一个旧按钮不起任何作用
我还没弄明白发生了什么事。Hackborn写道,targetSdkVersion是唯一控制是否显示传统按钮的工具:
编辑:澄清问题描述。您需要将android:showAsAction=“ifRoom | withText”添加到XML菜单项中。这将抛出一个错误,除非您针对Android 3.0构建。当您切换到此版本进行构建时,请确保不要使用任何仅3.0版的方法调用,因为它将在旧版本上崩溃,而不会出现编译时错误。您需要将android:showAsAction=“ifRoom | withText”添加到XML菜单项中。这将抛出一个错误,除非您针对Android 3.0构建。当您切换到此版本进行构建时,请确保不要使用任何仅3.0版的方法调用,因为它将在没有编译时错误的旧版本上崩溃。我发现您所犯的错误与我所犯的相同 您的targetSdkVesrion名称缺少android:前缀,因此它实际上被忽略。 应该是:
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11"/>
刚才你的应用程序将以v11为目标,你永远不会得到传统的菜单按钮
另见相关讨论:
我看你和我犯了同样的错误 您的targetSdkVesrion名称缺少android:前缀,因此它实际上被忽略。 应该是:
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11"/>
刚才你的应用程序将以v11为目标,你永远不会得到传统的菜单按钮
另见相关讨论:
谢谢,但这对所描述的问题没有影响。谢谢,但这对所描述的问题没有影响。我的应用中确实有一个TabActivity,我知道它已被弃用。但我不认为这会影响我应用程序中的所有其他活动。我曾尝试将选项卡转换为片段,但有许多方法停止工作,我现在无法投入时间完全重写这些活动。我的应用程序中确实有一个TabActivity,我知道它已被弃用。但我不认为这会影响我应用程序中的所有其他活动。我曾尝试将选项卡转换为片段,但有许多方法停止工作,我现在无法投入时间完全重写这些活动。