我正在开发一款带有菜单的Android应用程序。它在我的古老手机上工作得很好,它有一个物理菜单按钮(运行2.2),但在Kindle Fire上没有出现溢出菜单按钮。如果这似乎是一个重复的问题,我很抱歉,但我已经尝试了其他人的答案中列出的很多方法,并且没有任何改变。
我的菜单xml如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_main"
android:orderInCategory="100"
android:title="@string/action_MainMenu"
app:showAsAction="never"/>
[等等]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
//[here I have a few if statements to rename items or remove unnecessary ones]
return true;
}
答案 0 :(得分:0)
对于具有物理菜单键的设备,有时不显示溢出菜单。为此,Commonsware提供了一个非常好的黑客。
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
}
catch (Exception e) {
// presumably, not relevant
}