Android:使用app:showAsAction=";“始终”;对于所有菜单项

Android:使用app:showAsAction=";“始终”;对于所有菜单项,android,android-actionbar,Android,Android Actionbar,在我正在开发的这个应用程序的主要活动中,我希望在操作栏中始终显示4个菜单项。。我对菜单的每一项都使用了showAsAction=“always”,因为我在这个活动中的主题会删除标题,而只显示图标,所以我知道在操作栏中会有很大的空间来显示图标。。但是,我不确定是否将所有项目设置为“始终”是正确的方法。。还有别的办法吗?或者我说得对吗 ps:showAsAction=“ifRoom”仅允许我的应用程序在操作栏中显示2个项目。如果您想确保您将拥有所有4个图标,最好创建自己的操作栏,并执行任何您喜欢的操

在我正在开发的这个应用程序的主要活动中,我希望在操作栏中始终显示4个菜单项。。我对菜单的每一项都使用了showAsAction=“always”,因为我在这个活动中的主题会删除标题,而只显示图标,所以我知道在操作栏中会有很大的空间来显示图标。。但是,我不确定是否将所有项目设置为“始终”是正确的方法。。还有别的办法吗?或者我说得对吗


ps:showAsAction=“ifRoom”仅允许我的应用程序在操作栏中显示2个项目。

如果您想确保您将拥有所有4个图标,最好创建自己的操作栏,并执行任何您喜欢的操作

在原始操作栏中,您可以使用:

android:showAsAction=“始终”

这将迫使他们去那里,但如果仍然没有足够的空间,就要考虑正在发生的事情

当包含在动作条内时,根据设备的密度独立宽度,动作项的最大数量是有限的。操作项也不能覆盖操作栏宽度的一半以上


中,您可以通过编程方式执行此任务:

@Override
public boolean onCreateOptionsMenu(final Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.main, menu);

    for (int i = 0; i < menu.size(); i++) {
        menu.getItem(i).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    }

    return true;
}
@覆盖
公共布尔onCreateOptions菜单(最终菜单){
super.onCreateOptions菜单(菜单);
getMenuInflater().充气(R.menu.main,menu);
对于(int i=0;i
如果您有兴趣创建自己选择的ActionBar,请参阅此处的我的Answer