带有 Jetpack 导航组件的自定义工具栏

mis*_*o01 5 android

我有一个问题。我正是需要这个工具栏。

在此处输入图片说明

工具栏标题必须居中,向上按钮的颜色必须与标题颜色不同。例如,我可以使用这些代码行实现居中标题。

     <androidx.appcompat.widget.Toolbar
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:theme="?attr/actionBarTheme"
            android:minHeight="?attr/actionBarSize"
            android:id="@+id/tb_main"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            android:gravity="center">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:id="@+id/tb_title_main"
                android:textColor="@color/black_80"
                android:textSize="20sp"
                />

    </androidx.appcompat.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

这是在我的 MainActivity

    val toolbar = binding.tbMain
    toolbar.tb_title_main.text = "Centered Text "
    setSupportActionBar(toolbar)
    supportActionBar?.setDisplayShowTitleEnabled(false)
Run Code Online (Sandbox Code Playgroud)

但我想要使用 Jetpack 导航组件设置工具栏,以便更好、更轻松地导航。当我在 MainActivity 中使用这些代码行设置工具栏时,就会发生这种情况。

    val navController = findNavController(R.id.nav_host_fragment)
    val toolbar = binding.tbMain
    setSupportActionBar(toolbar)
    val appBarConfiguration = 
    AppBarConfiguration(navController.graph)
    toolbar.setupWithNavController(navController, 
    appBarConfiguration)
Run Code Online (Sandbox Code Playgroud)

https://ibb.co/6v8PPmR(另一张图片)

我花了将近 4 个小时来处理这些。我尝试了很多解决方案,但没有任何效果。

因此,使用 setupWithNavController 时可以将工具栏中的文本居中还是我应该提出自己的自定义解决方案?