Триггер AppBar вернуться к своей нормальной позиции внутри CoordinatorLayout - PullRequest
0 голосов
/ 28 октября 2019

У меня есть следующий макет:

<RelativeLayout 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">

    <android.support.design.widget.CoordinatorLayout
            android:id="@+id/layout_offer_detail_coordinator"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar_offer_details"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll|enterAlways|snap" />

        </android.support.design.widget.AppBarLayout>

        <android.support.v4.widget.NestedScrollView
            android:id="@+id/layout_offer_detail_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorBackground"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

        </>
    </>
</>

Это скрывает панель приложения, когда пользователь прокручивает список вниз, и отображает ее, когда пользователь прокручивает вверх.

Моя проблемазаключается в том, что в конце NestedScrollView у меня есть кнопка «Вернуться к началу», которая при нажатии вызывает scrollView для прокрутки вверх вверх: scrollView.smoothScrollTo(0, 0);

Проблема в том, что appBar невозвращаться вниз, как когда пользователь будет прокручивать вверх. Я не могу запустить панель приложения обратно программно.

Есть идеи?!

РЕДАКТИРОВАТЬ

Функциональность была взята отсюда: см. ссылку

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Это было проще, чем я думал. После трех часов поиска и опробования вещей мне просто нужно было сделать следующее:

appBarLayout.setExpanded(true, true);

Ну, это была ненужная трата времени с моей стороны ...

0 голосов
/ 28 октября 2019

Вы должны использовать сворачивающуюся панель инструментов, чтобы достигнуть этого.

<android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"/>

    </android.support.design.widget.CollapsingToolbarLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...