【问题标题】:Action bar overflow in androidandroid中的操作栏溢出
【发布时间】:2014-11-17 18:41:56
【问题描述】:

我试图了解我所做的事情有什么问题。 我目前正在关注the android action bar tutorial,由于某种原因,它没有在我的设备上的操作栏中显示搜索图标,而是直接进入我的溢出状态。 我在我的设备 Nexus 5 上运行 4.4.4 版本。我尝试遵循几个教程,结果没有什么不同。我默认使用 API 11 设置了新项目,我尝试将 showAsAction 设置为“始终”。 我还能做什么?感谢您的帮助!

我的 XML 菜单文件:

<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_new"
      android:title="new"
      android:showAsAction="ifRoom" />

<item android:id="@+id/action_settings"
      android:title="Settings"
      android:showAsAction="never" />

主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

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

【问题讨论】:

  • 如果可能,请添加您的代码尝试和屏幕截图
  • 我添加了代码,这是一个简单的操作栏尝试,仅此而已。我的手机运行应用程序的屏幕截图?它只有带有应用名称和溢出按钮(点)的主屏幕。
  • 这很奇怪,在你的活动中,你扩展ActionBarActivity吗?
  • 是的,如教程中所述。

标签: android android-actionbar


【解决方案1】:

尝试使用命名空间

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:{anynamespace}="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_new"
      android:title="new"
      {anynamespace}:showAsAction="always" />
</menu>

用任何单词替换 {anynamespace} 部分

编辑:本教程建议您使用命名空间in case you are using the Support library

【讨论】:

  • 你能解释一下吗?或者至少将我引导到我可以阅读的有关该主题的任何链接?非常感谢!它确实有效,虽然我之前尝试过但没有。我上次一定错过了什么。
  • 很高兴我能帮上忙 :) 我更新了答案,答案中的链接重定向到您添加的同一教程,请注意,这仅在支持库的情况下使用
  • 是的,我没看它,因为这句话以“兼容低至 Android 2.1 的版本”开头,所以我跳过了。那么我为什么必须使用名称空间呢?我确实创建了应用程序,并将所需的最低 sdk 设置为 11。为什么我必须在我的情况下使用它?有什么想法吗?
  • 我认为这是因为您使用的 ActionBarActivity 是 v7 支持库的一部分。一旦您使用了支持库,那么您的最低 API 级别并不重要,只要它不低于支持库的最低 API 级别即可。
  • 我想不使用 ActionBarActivity 吗?再次感谢您的所有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多