У меня есть верхняя панель навигации с панелью инструментов поверх макета координатора. Вышеупомянутый макет является родителем фрагментов, которые будут помещены в контейнер с разметкой кадров.
Один из фрагментов содержит кнопку внизу и обзор переработчика с шириной и высотой Match_parent.
Я хочу скрыть панель приложения (и оставить панель навигации) и кнопку, когда пользователь прокручивает страницу вниз, и отображать их снова, когда пользователь прокручивает вверх.
Я попытался добавить app:layout_behavior="@string/appbar_scrolling_view_behavior"
к структуре кадра, содержащей фрагмент, панель приложения правильно скрывается, но кнопка появляется только при прокрутке вниз (как будто в представлении фрагмента имеется margin_top). Поэтому я попытался переключить его и поместить только поведение в представлении фрагмента, теперь кнопка скрывается правильно, но панель приложения не перемещается.
это макет активности:
<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>