操作button不显示在操作栏上?

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

虽然我添加了search操作显示的所有代码,而不是操作button元素的溢出元素。 我尝试使用软键盘选项的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.javaonCreateOptionsMenu方法。

  @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main_activity_actions, menu); return super.onCreateOptionsMenu(menu); } 

在这里输入图像描述

我想知道是什么原因导致这个问题。

这是因为如果使用支持AppCompat ActionBar库和ActionBarActivity,则应该使用与在ActioBarSherlock或默认ActionBar中创buildxml菜单的标准方式不同的方式创build菜单。

所以试试这个代码:

 <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> 

虽然这个问题已经解决,但让我发表一个有更多信息的答案,以后可能会有帮助。

现在,问题是你已经使用了android:showAsAction="ifRoom"android:showAsAction="never" ,相反,如果你想让动作button始终可见,那么使用android:showAsAction="always"

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

android:showAsAction = [“ifRoom”| “从不” “withText”| “总是”| “collapseActionView”]

在这里输入图像描述

你可以阅读更多关于菜单资源