我在SO中看到很多帖子,但无法弄清楚为什么不显示Overflow图标。我正在测试真实设备Android 4.4。按下选项按钮时,我会看到屏幕底部显示的项目。但我需要它像在Gmail应用程序中一样在Top Right上显示为3点菜单。 Pl帮助。当点击选项按钮时,需要像Tubemate app的附加照片。
menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!--xmlns:com.app.MainActivity="http://schemas.android.com/apk/res-auto"-->
<item
android:id="@+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/icon_search"
android:orderInCategory="1"
android:title="search"
android:showAsAction="never"/>
<item
android:id="@+id/action_end"
android:icon="@drawable/end"
android:menuCategory="container"
android:orderInCategory="2"
android:title="@string/end"
android:showAsAction="never"/>
</menu>
MainActivity:
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{ menu.clear();
this.menu = menu;
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.action_end:
System.exit(0);
break;
case R.id.action_search:
break;
default:
break;
}
return false;
}
答案 0 :(得分:1)
溢出菜单只会出现在没有物理菜单按钮的设备上。在带有物理菜单按钮的设备中,它将从底部显示。
要强制溢出菜单,请将此代码放在 onCreate :
中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) {
e.printStackTrace();
}
}