7

コーディネーター レイアウト内で一番下のアプリ バーを使用しています。残りのコンテンツはフラグメントからのものです。フラグメントのコンテンツは、下部のアプリ バーで覆われています

私は bottomAppBar を使用しているため、CoordintorLayout 内にある必要があり、すべての子もその中にある必要があります。BottomAppBar の上のすべてのレイアウトはスペースを埋める必要がありますが、そうすると、下部のビューが覆われます。ビューが BottomAppBar と重ならないようにする方法

<androidx.drawerlayout.widget.DrawerLayout
android:id="@+id/drawerLayout_main"
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"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".main.MainActivity">

<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout"
    android:layout_width="0dp"
    android:layout_height="wrap_content">

    </androidx.constraintlayout.widget.ConstraintLayout>

    <fragment
        android:id="@+id/fragment_main_navHost"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        android:layout_gravity="top"
        app:navGraph="@navigation/nav_graph"/>


    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottomAppBar_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:fabAlignmentMode="end"
        app:fabCradleMargin="4dp"
        app:hideOnScroll="true"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

<com.google.android.material.navigation.NavigationView
    android:id="@+id/navView_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/nav_header_layout"
    app:menu="@menu/main_navigation"/>

私が必要とするのは、フラグメントを置き換えるコンテンツが下部のアプリバーで覆われてはならず、下部のアプリバーで使用されていないすべての空白を使用する必要があることです。別の世界では、残りの空白を使用し、コーディネーターレイアウト内にある間、コンテンツはその上にある必要があります。

4

3 に答える 3

1
于 2019-01-17T15:53:05.127 に答える