【问题标题】:action bar showing large space between app icon and menu items显示应用程序图标和菜单项之间的大空间的操作栏
【发布时间】:2012-12-22 03:09:55
【问题描述】:

我的操作栏在左侧显示应用程序图标,然后有一个大空间,然后在右侧显示我的一些菜单项(其余的进入溢出)。问题是“大空间”足够容纳更多图标。为什么不使用它?

我的菜单资源如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

  <item
    android:id="@+id/menu_a"
    android:icon="@drawable/a"
    android:title="a"
    android:orderInCategory="100"
    android:showAsAction="ifRoom" >

    <menu>
      <item ... />
      ...
    </menu>
  </item>
  ...
  <item
    android:id="@+id/menu_n"
    android:icon="@drawable/n"
    android:title="n"
    android:orderInCategory="100"
    android:showAsAction="ifRoom" >
    ...
  </item>
</menu>

在我的活动中,我有:

  @Override
  public void onCreate (Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);

    setContentView (R.layout.main_activity);

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setHomeButtonEnabled (true);
    ...
  }

  @Override
  public boolean onCreateOptionsMenu (Menu menu)
  {
    getMenuInflater().inflate(R.menu.nav_menu, menu);
    return true;
  }

我怀疑它与我已禁用的应用标题 (setDispalyShowTitleEnabled) 有关。也许我做错了?

【问题讨论】:

    标签: android android-actionbar menuitem


    【解决方案1】:

    您的代码没有问题。

    AtionBar 默认只允许 2-3 个菜单项,即使有足够的空间容纳 4-5 个。

    可能是为了维护更好的 UI。

    所以,而不是

    android:showAsAction="ifRoom"
    

    使用

    android:showAsAction="always"
    

    让 MenuItem 始终出现在 ActionBar 上,而不是进入溢出菜单。

    【讨论】:

    • 那么,如何让它在各种尺寸的屏幕上工作?我希望避免编写计算适合多少图标的代码。
    • 就是这样,要支持所有屏幕尺寸,我们必须使用 ifRoom。但是 3 个菜单项在任何屏幕上都不成问题。此外,这些菜单项有多重要,用户不希望他的操作栏充满它们。您最好说明您有多少菜单项以及必须始终显示多少。
    • 那么,您是说显示 2 个图标(在我的 kyocera 上)的限制是设计使然,而不是按照开发人员的要求显示?你确定吗?
    • 是的。但是您可以使用 android:showAsAction="always" 来询问,而不是显示开发人员要求的数量
    • 好的,感谢您的确认。而且,是的,我对“总是”很熟悉——只是想避免它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多