我在我的一项活动中使用了Holo.Light.Dialog主题。由于某些原因,当在带有屏幕键的ICS手机上运行时,它会给我一个软菜单键。这把钥匙什么也做不了,我没有菜单,而且我似乎不能摆脱它。奇怪的是,在ICS平板电脑(同样的设置,只是屏幕更大)上,我无法获得软件菜单键。
我试着使用Holo.Light.Dialog.NoActionBar(.MinWidth),认为我得到菜单键的原因是对话框没有标题栏,而应用程序假设我仍然想要菜单键。我曾希望告诉它,我不想要一个动作栏来解决它,但这似乎没有帮助。
你有什么办法让它消失吗?
活动XML:
<activity android:label="@string/login"
android:name=".login"
android:excludeFromRecents="false"
android:screenOrientation="unspecified"
android:windowSoftInputMode="adjustResize|adjustPan"
android:theme="@android:style/Theme.Holo.Light.Dialog"/>`编辑:为了进一步说明,我的MinSDK是11,targetSDK是14。这两个都应该允许它不使用菜单按钮。
发布于 2012-03-12 11:01:55
确保元素出现在清单中的元素之前。
发布于 2012-03-12 11:10:17
我认为你需要在你的全息主题中有动作栏。在你的例子中,你有Theme.Holo.Light.Dialog,你说你做了一个不同的主题,没有动作栏。尝试使用普通的Theme.Holo.Light。
来自android dev博客,"Say goodbye to the menu button"
如果将minSdkVersion或targetSdkVersion设置为11或更高,
系统不会添加旧的溢出按钮。否则,
在Android 3.0或更高版本上运行时,系统将添加传统溢出按钮。唯一的例外是,如果您将minSdkVersion设置为10或更低,将targetSdkVersion设置为11、12或13,并且您不使用ActionBar,则当您使用时,系统将添加旧的溢出按钮
在安卓4.0或更高版本的手机上运行你的应用程序的。
这就是你所描述的正在发生的事情。
发布于 2013-06-28 16:04:53
尝试这样做:如果菜单项存在于R.menu文件中,则将其删除。
https://stackoverflow.com/questions/9660153
复制相似问题