在使用新的API 21工具栏和appCompat_v7两天后,我想我发现了一个错误.如果你的菜单上有2个动作,如下所示:
<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"/>
Run Code Online (Sandbox Code Playgroud)
和appCompat工具栏定义如下:
<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>
Run Code Online (Sandbox Code Playgroud)
膨胀后(或设置setSupportActionBar方法)
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.setTitle("esurance");
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
您将获得没有操作图标的工具栏菜单,它将显示在溢出菜单上.
但是,如果您使用API 21中的工具栏类,它将显示您在菜单布局中定义的操作...
<Toolbar
android:layout_width="match_parent"
android:layout_height="52dp"
android:id="@+id/toolbar">
</Toolbar>
Run Code Online (Sandbox Code Playgroud)
也许我在这里遗漏了一些东西,但到目前为止,我一直无法使用appCompat在溢出菜单之外显示操作.任何有关这方面的帮助将非常感激.
