Невозможно свернуть AppBarLayout, когда scroll_flags не установлены - PullRequest
0 голосов
/ 20 октября 2019

Я разрабатываю интерфейс для приложения. У меня есть Activity с макетом Coordinator и AppBarLayout, так как это дочерний элемент, где у меня есть MotionLayout для анимации элементов в моем заголовке. Это хорошо работает с scroll_flags, но при их удалении и попытке запустить .setExpanded (true / false) ничего не происходит, а onOffsetChanged всегда возвращает verticalOffset 0.

Я пытался включить флаги и отключить nestedscollview в моем RecyclerView, который работает, но поскольку у меня есть макет как фрагмент внутри нижнего листа для активности GoogleMaps, при попытке прокрутки вверх BottomSheet разваливается.

activity_lpp.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@android:color/white"
    android:animateLayoutChanges="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/test_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:nestedScrollingEnabled="false"/>


    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white">

        <include layout="@layout/activity_lpp_header" />

    </com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

activity_lpp_header.xml

<com.VegaSolutions.lpptransit.ui.customviews.CollapsingToolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/collapse_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    app:layout_scrollFlags="scroll|enterAlways|snap|exitUntilCollapsed"
    android:minHeight="64dp"
    app:layoutDescription="@xml/tool_bar_scene"
    android:fitsSystemWindows="false" >
    ...

Я хочу вручную развернуть и свернуть панель приложений при нажатии кнопки.

...