Android 单活动多片段场景中的协调器布局
我有一个顶部导航栏,上面有一个工具栏,在协调器布局中。前面提到的布局是片段的父级,片段将放置在framelayout容器中 其中一个片段在底部包含一个按钮和一个具有匹配父级宽度和高度的recyclerview 我想在用户向下滚动时隐藏appbar(并保留导航栏)和按钮,在用户向上滚动时再次显示它们 我尝试将Android 单活动多片段场景中的协调器布局,android,android-fragments,android-coordinatorlayout,coordinator-layout,Android,Android Fragments,Android Coordinatorlayout,Coordinator Layout,我有一个顶部导航栏,上面有一个工具栏,在协调器布局中。前面提到的布局是片段的父级,片段将放置在framelayout容器中 其中一个片段在底部包含一个按钮和一个具有匹配父级宽度和高度的recyclerview 我想在用户向下滚动时隐藏appbar(并保留导航栏)和按钮,在用户向上滚动时再次显示它们 我尝试将app:layout\u behavior=“@string/appbar\u scrolling\u view\u behavior”添加到包含片段的framelayout中,appbar正
app:layout\u behavior=“@string/appbar\u scrolling\u view\u behavior”
添加到包含片段的framelayout中,appbar正确隐藏,但按钮仅在我向下滚动时出现(就好像片段视图中有一个边距\u top)。因此,我尝试将其切换到片段视图中,现在按钮正确隐藏,但appbar不移动
这是活动布局:
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/light_grey"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
app:elevation="10dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/main_color2"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/userName"
style="@style/titleText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:gravity="start"
android:maxLines="1"
android:text="Saber Oueslati"
android:textColor="@color/white"
app:layout_constraintEnd_toStartOf="@+id/balance"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/balance"
style="@style/titleText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="end"
android:maxLines="1"
android:text="150,000,000 TND"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/userName"
app:layout_constraintTop_toTopOf="@+id/userName"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
<devlight.io.library.ntb.NavigationTabBar
android:id="@+id/navBar"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:ntb_badge_bg_color="@color/main_color2"
app:ntb_badge_gravity="bottom"
app:ntb_badge_position="left"
app:ntb_badge_title_color="@color/white"
app:ntb_badge_use_typeface="true"
app:ntb_badged="true"
app:ntb_bg_color="@color/white"
app:ntb_inactive_color="@color/grey"
app:ntb_scaled="true"
app:ntb_title_mode="active"
app:ntb_title_size="12sp"
app:ntb_titled="true" />
</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
这个问题运气好吗?恐怕不行。我尝试了很多东西,但我总是以浮动按钮不隐藏或工具栏不隐藏而告终。这个问题运气好吗?恐怕不行。我尝试了很多东西,但我总是最终要么浮动按钮不隐藏,要么工具栏不隐藏。
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".cart.CartFragment">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/sadFace"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_sad" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/sadMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginTop="8dp"
android:text="Your cart is empty..."
android:textAlignment="center"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@+id/sadFace"
app:layout_constraintStart_toStartOf="@+id/sadFace"
app:layout_constraintTop_toBottomOf="@+id/sadFace" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recList"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/cart_item" />
<com.google.android.material.button.MaterialButton
android:id="@+id/checkout"
style="@style/customButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="24dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginStart="24dp"
android:text="CheckOut"
app:layout_behavior="com.gpg.gppay.utils.ScrollAwareFABBehavior"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.constraintlayout.widget.Group
android:id="@+id/noProduct"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="sadFace,sadMessage" />
</androidx.constraintlayout.widget.ConstraintLayout>