我在添加按钮到操作栏时遵循以下网站的教程 http://developer.android.com/training/basics/actionbar/adding-buttons.html#AddActions
在本教程之后,我创建了一个新的XML文件,\ res \ menu \ 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:orderInCategory="100"
android:showAsAction="always" />
<!-- Settings, should always be in the overflow -->
<item android:id="@id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
我的MainActivity.java,我修改了onCreateOptionsMenus()如下
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
然而,在编辑之后,我只能按下菜单按钮后的搜索和设置按钮,而不是由deafult显示在actiionbar中。任何提示?
由于
JC
答案 0 :(得分:0)
如果您从2.2版开始定位,则必须创建自定义命名空间并添加xml 或者如果您从3.0版本进行定位,则使用相同的命名空间
至于上述问题,请尝试
android:showAsAction = "ifRoom"
或在
之后使用自定义命名空间xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myApp="http://schemas.android.com/apk/res-auto"
和
myApp:showAsAction:"ifRoom"
答案 1 :(得分:0)
您需要查看文档,因为它在那里: http://developer.android.com/guide/topics/ui/actionbar.html
然而,就像你在这里得到答案一样,那些来到SO寻求答案的人也是如此,这是一个非常容易解决的问题。在菜单XML文件中,您只需在myApp:showAsAction="always"
标记中加入<item>
选项,这将强制它始终显示。您还可以指定="never"
,只有在您按下菜单按钮时才显示,="ifRoom"
,其使用应该相当明显
答案 2 :(得分:0)
如果手机没有按here所述的菜单按钮,则溢出菜单只会显示在操作栏中。
如果您确实希望在操作栏中使用此功能,那么您可以使用this。
你也可以android:showAsAction:"ifRoom"
。如果没有更多的空间,它将自动放入溢出菜单。
您也可以创建自己的菜单(不附加到菜单按钮)。您可以了解如何执行此操作here。
答案 3 :(得分:0)
尝试添加:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
并更改
android:showAsAction="always"
到
yourapp:showAsAction="ifRoom"
最终版本将是
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto">
<!-- search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:orderInCategory="100"
yourapp:showAsAction="always" />
<!-- Settings, should always be in the overflow -->
<item android:id="@id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
如果您按照说明操作,请不要忘记使用AppCompat主题(在AndroidManifest.xml中更改)