在 androidx 中应用工具栏

Applying toolbar in androidx

所有类似的问题都在较早的 versions.Hence 我别无选择,只能问这个。 我的进口:

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

classMainActivity 扩展了 AppCompactActivity,工具栏的 id 相同,工具栏是 initialized.Also 样式中的操作栏已设置为 NoActionBar。实现如下:

toolbar= findViewById(R.id.toolbar1);
getSupportActionBar(toolbar);

错误:AppCompactActivity 中的 getSupportActionBar() 无法应用于 (androidx.appcompat.app.AppCompatActivity)

工具栏在 activity_main.xml 中定义为

<include layout="@layout/toolbar"
            android:id="@+id/toolbar1"/>

工具栏布局资源文件代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/HomeBtn"
        android:background="@mipmap/home"
        android:contentDescription="@string/homebtn" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Random text"
        android:textAlignment="center"
        android:padding="5dp"/>
</androidx.appcompat.widget.Toolbar>

如何使我的工具栏工作?

您正在使用 getSupportActionBar。你应该使用 setSupportActionBar:

setSupportActionBar(toolbar);