Android: using app:showAsAction="always" for all menu items
在我正在开发的这个应用程序的主要活动中,我希望 4 个菜单项始终显示在操作栏中。我对菜单的每个项目都使用了 showAsAction = "always",因为我的此活动中的主题删除了标题并仅显示图标,因此我知道操作栏中将有很大的空间用于显示图标。但是,我不确定是否将所有项目都设置为"始终"" 是正确的做法.. 还有其他方法还是我正确?
ps: showAsAction = "ifRoom" 只允许我的应用在操作栏中显示 2 个项目..
如果您想确保拥有所有 4 个图标,最好创建自己的 ActionBar 并做任何您喜欢的事情。
在原来的 ActionBar 中你可以使用 :
android:showAsAction="always"
这将迫使他们在那里,但如果仍然没有足够的空间,请考虑发生了什么。
When contained within the action bar there is a finite maximum of action items based on the device's density-independent width. The action items can also not cover more than half the width of the action bar.
从这里
你可以通过编程来完成这个任务:
1 2 3 4 5 6 7 8 9 10 11 12 | @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; } |