使用样式在工具栏中显示后退按钮

时间:2019-05-02 09:43:56

标签: android toolbar android-toolbar

我想将工具栏主题传递给AndroidManifest中其他库的类。我已经在styles.xml中声明了主题,如下所示:

    <style name="MyTheme" parent="AppTheme">
        <item name="homeAsUpIndicator">@drawable/back</item>
        <item name="title">@string/app_name</item>
        <item name="subtitle">@string/app_version</item>
    </style>

因此,在显示该库的类时,后退按钮不可见。那么setDisplayHomeAsUpEnabled本身是否有办法styles.xml变为真?

2 个答案:

答案 0 :(得分:0)

 <androidx.appcompat.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/orange"
    app:navigationIcon="@drawable/backbutton"//imp code
    app:title="Check Out"
    android:id="@+id/toolbar_checkout_main">
</androidx.appcompat.widget.Toolbar>

在xml中声明app:navigationicon,在Java文件中使用

 toolbar.setNavigationOnClickListener(v -> {
        //on backbutton pressed code//
    });

答案 1 :(得分:0)

我们可以使用navigationIcon选项使用styles.xml显示图标。

如果您要定位API 21 +,

<item name="android:navigationIcon">@drawable/back</item>

否则,

<item name="navigationIcon">@drawable/back</item>

所以,我的主题应该是

<style name="MyTheme" parent="AppTheme">
        <item name="colorPrimary">@color/colorAccent</item>
        <item name="title">@string/app_name</item>
        <item name="subtitle">@string/app_version</item>
        <item name="navigationIcon">@drawable/back</item>
</style>