如果我为操作栏定义以下项目:
res/menu/action_menu.xml
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="label"/>
<item android:title="label1"/>
<item android:title="label2"/>
<item android:title="label3"/>
<item android:title="label4"/>
</menu>
在我的活动中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_menu, menu);
return true;
}
是否有允许我定义某些项目移动到动作溢出部分?以及如何做到这一点?
P.S。 Action overflow part是操作栏中最右边的部分,可以隐藏某些项目,例如弹出菜单。
答案 0 :(得分:9)
反过来说。您需要在ActionBar
中明确告诉菜单您想要哪些,而不是通过设置适当的标志
E.g。
<item android:id="@+id/refresh"
android:title="@string/refresh"
android:icon="@drawable/reload_button"
android:showAsAction="always"/>
这里android:showAsAction
讲述了如何处理它。选项是
您可以将管道符号选为“always | withText”
有关更多文档,请参阅android docs for action bar。
答案 1 :(得分:7)
为了向Heiko关于操作栏上“溢出菜单”的回答添加一些内容,只有当项目设置为ifRoom并且没有空间显示时才会发生这种情况。在溢出菜单上,它们仅显示标题而没有图标。
在Android 4.0上,溢出菜单(“3点微调器”)仅显示在没有物理“菜单”按钮的设备上。您可以在ADV上将选项Hardware Back/Home keys option
设置为“否”进行测试。