如何在没有支持库的情况下将MaterialToolbar设置为ActionBar

问题描述

是否可以将MaterialToolbar设置为Activity的{​​{1}}?每当我尝试设置我的权限时,Android Studio都会不断从支持库中请求ActionBar

必填:工具栏? -找到:MaterialToolbar

XML

Toolbar

科特林

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/myAppBarLayout">

    <com.google.android.material.appbar.CollapsingToolbarLayout
        android:id="@+id/myCollapsingToolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|snap|exitUntilCollapsed">

        <com.google.android.material.appbar.MaterialToolbar
            android:id="@+id/myToolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:contentInsetStartWithNavigation="0dp"
            app:layout_collapseMode="pin" />
    </com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>

解决方法

setActionBar()需要框架 ToolbarMaterialToolbar正确地扩展了AndroidX Toolbar,这意味着您必须使用AppCompatActivitysetSupportActionBar()而不是ActivitysetActionBar()