经过2天的努力与新的API 21工具栏和appCompat_v7,我想我发现了一个错误。如果你有你的菜单上2层的操作是这样的:AppCompat_v7工具栏作为操作栏不显示菜单中的“始终”操作,但API工具栏确实
<item
android:id="@+id/action_test"
android:showAsAction="always"
android:icon="@drawable/ic_launcher"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
,并这样定义的程序兼容性工具栏:膨胀(或设置setSupportActionBar方法)后
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.toolbar.MainActivity" >
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="52dp"
android:id="@+id/toolbar">
</android.support.v7.widget.Toolbar>
</RelativeLayout>
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.setTitle("esurance");
setSupportActionBar(toolbar);
你将获得工具栏菜单没有您的动作图标,它会显示在溢出菜单上。
但是,如果你从API 21使用工具栏类,它会显示在你的菜单布局定义你的行动...
<Toolbar
android:layout_width="match_parent"
android:layout_height="52dp"
android:id="@+id/toolbar">
</Toolbar>
也许我失去了一些东西,但到目前为止,我我无法使用appCompat在溢出菜单之外显示操作。任何帮助,将不胜感激。
在我的情况下,这是行不通的,但android:showAsAction =“总是”它的工作。我不明白为什么这不起作用。 – 2014-10-31 13:07:02
@HarshvardhanTrivedi这也是我的情况。但幸运的是我找到了解决方案:在'onCreateActionMode'中不要使用'mode.getMenuInflater()',而是使用'ActionBarActivity'中的'getMenuInflater()'。 – yuku 2014-12-05 06:29:47
@yuku yours是正确的答案。 – agirardello 2015-08-13 21:33:14