操作按钮不会显示在操作栏上?

时间:2013-12-11 07:03:53

标签: android

我正在关注developer.android.com上的教程并尝试在操作栏上添加项目。

虽然我添加了所有代码,但搜索操作显示为溢出元素而不是操作按钮元素。我尝试使用软键盘选项的4“和7”虚拟设备。

这是

main_activity_actions.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
    android:icon="@drawable/ic_action_search"
    android:title="@string/action_search"
    android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:showAsAction="never" />
</menu>

以下是MainActivity.java的{​​{1}}方法。

onCreateOptionsMenu

enter image description here

我想了解是什么导致了这个问题。

2 个答案:

答案 0 :(得分:48)

这是因为如果你使用支持AppCompat ActionBar库和ActionBarActivity,你应该创建一个不同于在ActioBarSherlock或默认ActionBar中创建xml菜单的标准方式的菜单。

所以试试这段代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto">
      <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          app:showAsAction="always"  />
      <item android:id="@+id/action_compose"
          android:icon="@drawable/ic_action_compose"
          android:title="@string/action_compose" 
          app:showAsAction="always"/>
</menu>

答案 1 :(得分:8)

虽然问题已经解决,但让我发布一个包含更多信息的答案,以后可能会对任何人有所帮助。

现在,问题是您使用了android:showAsAction="ifRoom"android:showAsAction="never",而如果您想让操作按钮始终可见,那么请使用android:showAsAction="always"

仅供参考,android:showAsAction可以采用任何值:

  

机器人:showAsAction = [&#34; ifRoom&#34; | &#34;从未&#34; | &#34; withText&#34; | &#34;总是&#34; |   &#34; collapseActionView&#34;]

enter image description here

您可以阅读有关Menu Resource

的更多信息