Android Material Toolbar出现在片段后面

问题描述

我有一个应用程序,在该应用程序中,我需要一个底部栏作为主导航,并需要一个工具栏来显示标题和设置图标。到目前为止,我已经实现了以下目标:

activity.xml

<?xml version="1.0" encoding="utf-8"?>

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:id="@+id/Layout_Root"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!--
        ********************************************************
        **** This is the app bar layout which contains the
        **** main Material Toolbar.
        ********************************************************
        -->

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/Layout_AppBar_Main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        app:liftOnScroll="true">

        <com.google.android.material.appbar.MaterialToolbar
            android:id="@+id/Toolbar_Main"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorOnSurface"
            android:paddingStart="8dp"
            android:paddingEnd="8dp"
            app:layout_scrollFlags="scroll|enteralways|snap" />
    </com.google.android.material.appbar.AppBarLayout>

    <fragment
        android:id="@+id/Navigation_Host"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_anchorGravity="bottom"
        app:layout_anchor="@id/Layout_AppBar_Main"
        app:defaultNavHost="true"
        app:navGraph="@navigation/navigation_main" />

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/Bottom_Navigation_Main"
        styleBackground="@{true}"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:visibility="visible"
        app:menu="@menu/menu_bottom_navigation_main" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

</layout>

一切正常,除了工具栏出现在片段后面。仅当我在android:layout_height="match_parent"中将android:layout_height="wrap_content"更改为<fragment>时,工具栏才能正常工作,但是我不希望这样,因为我需要用我的片段填充屏幕。有人可以帮忙吗?

解决方法

您忘记添加 app:layout_behavior =“ @ string / appbar_scrolling_view_behavior

做这样的事情。

{{1}}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...