【问题标题】:Items not showing in the ActionBar with showAsAction=“always”带有 showAsAction=“always” 的 ActionBar 中未显示的项目
【发布时间】:2014-06-07 11:56:37
【问题描述】:

我是 Android 编程新手,目前正在尝试让操作栏正常工作。我的问题是,尽管我将 XML 文件中的一个项目设置为“始终”,但无论我尝试什么,它都会始终出现在溢出菜单中。我在这里发现了几个类似的问题,但没有一个解决方案能解决问题。

附加信息:ic_action_search 图标位于项目的可绘制文件夹中。

main_activity_actions.xml:

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

<!-- Search, always displayed -->
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      app:showAsAction="always" />


<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
      android:title="@string/action_settings"
      app:showAsAction="never" />
</menu>

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <string name="app_name">My First App</string>
  <string name="edit_message">Enter a message</string>
  <string name="button_send">Send</string>
  <string name="action_settings">Settings</string>
  <string name="action_search">Search</string>
  <string name="title_activity_main">MainActivity</string>
  <string name="title_activity_display_message">My Message</string>
  <string name="hello_world">Hello world!</string>
</resources>

在 MainActivity.java 中

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

感谢您的帮助!

【问题讨论】:

    标签: java android xml


    【解决方案1】:

    尝试android:showAsAction 而不是app:showAsAction。或者,如果您使用的是 appcompat_v7 反向端口,请同时使用 android:showAsActionapp:showAsAction(感谢 Commonsware)。

    【讨论】:

    • 或者,如果您使用appcompat_v7 操作栏后向端口,则需要android:showAsAction app:showAsAction
    • 改成android:showAsAction,item还在溢出菜单中。
    • 我从过去 1 天开始一​​直在寻求解决这个问题。感谢您的回答。
    • 如果它们都存在并且您正在使用 Android Studio,它会在 XML 编辑器中显示一条错误消息(尽管应用程序可以运行并且可以正常运行)。要摆脱错误指示器,请将以下内容添加到布局 XML:tools:ignore="AppCompatResource"
    • 在我的情况下,我两个都用了,但还是没有显示出来?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多