问题描述
我有一个应用程序,在该应用程序中,我需要一个底部栏作为主导航,并需要一个工具栏来显示标题和设置图标。到目前为止,我已经实现了以下目标:
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}}