BottomAppBar被推离屏幕

时间:2018-10-22 18:40:14

标签: android android-layout material-design

当我使用底部的应用程序栏从任何片段切换回购物清单时,它会被推离屏幕,我也不知道为什么。在“冰箱片段”和“食品间片段”之间切换很有效,但是从其中一个切换回“购物清单片段”会将栏推离屏幕,如下所示:

GIF

Github repository with full code

1 个答案:

答案 0 :(得分:0)

尝试对FrameLayout进行这些更改,我想之后您将不需要fragment_navigation.xml

activity_main.xml

<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/relative_layout_for_fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottom_app_bar"
        style="@style/Widget.MaterialComponents.BottomAppBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar"
        app:backgroundTint="@color/colorPrimary"
        app:hideOnScroll="true"
        app:layout_scrollFlags="scroll|enterAlways"
        app:navigationIcon="@drawable/ic_menu_white_24dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add_shopping_cart_white_24dp"
        app:fabSize="normal"
        app:layout_anchor="@id/bottom_app_bar" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

您还说过,当您切换到其中有another CoordinatorLayoutShoppingListFragment时,就会发生这种情况。

您只需更改fragment_shopping_list.xml代码,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/shopping_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="141dp"
        android:text="TextView" />

</RelativeLayout>

或者只是不要在其中使用CoordinatorLayout,然后尝试。