小编Roi*_*oen的帖子

AppCompat_v7工具栏作为操作栏不显示菜单中的"始终"操作,但API工具栏确实如此

在使用新的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在溢出菜单之外显示操作.任何有关这方面的帮助将非常感激.

在此输入图像描述

android android-appcompat android-layout

34
推荐指数
1
解决办法
3万
查看次数