【问题标题】:Android: using app:showAsAction="always" for all menu itemsAndroid:对所有菜单项使用 app:showAsAction="always"
【发布时间】:2014-10-23 01:55:50
【问题描述】:

在我正在开发的这个应用程序的主要活动中,我希望 4 个菜单项始终显示在操作栏中。我对菜单的每个项目都使用了 showAsAction = "always",因为我在这个活动中的主题删除标题并仅显示图标,因此我知道操作栏中将有一个很大的空间来显示图标。但是,我不确定将所有项目设置为“始终”是否是正确的做法它..还有其他方法还是我正确?

ps:showAsAction = "ifRoom" 只允许我的应用在操作栏中显示 2 个项目..

【问题讨论】:

标签: android android-actionbar


【解决方案1】:

如果您想确保拥有所有 4 个图标,最好创建自己的 ActionBar 并做任何您喜欢的事情。

在原来的 ActionBar 中你可以使用:

android:showAsAction="always"

这会迫使他们呆在那里,但要考虑到如果仍然没有足够的空间会发生什么。

当包含在操作栏中时,根据设备的与密度无关的宽度,操作项的最大值是有限的。操作项也不能超过操作栏宽度的一半。

来自here

【讨论】:

    【解决方案2】:

    您可以通过编程方式完成此任务:

    @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;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 2014-04-30
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2021-10-13
      • 2020-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多