Mam aktywność z CoordinatorLayout
, AppBarLayout
, CollapsingToolbarLayout
i Toolbar
. Tak więc, zasadniczo, widok, który zapada się podczas przewijania RecyclerView
.Pokaż widok po zapadnięciu paska narzędzi
Co należy zrobić, to pokazać niestandardowy widok, gdy widok rozwiniętego układu jest ukryty z powodu zwijania.
To mój układ:
<android.support.design.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"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="#2196F3"
app:expandedTitleMarginBottom="32dp"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<include
android:id="@+id/header"
layout="@layout/header_big_first_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.CollapsingToolbarLayout
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello!"/>
</android.support.v7.widget.CollapsingToolbarLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/categories_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
W końcu, gdy pasek narzędzi jest rozszerzony widok załadowany element jest wyświetlany. Kiedy jest zwinięty, nie robi tego. Gdy znika, należy pokazać TextView
wewnątrz Toolbar
. Obecnie pokazuje cały czas.
Szukałem w wydarzeniach CollapsingToolbarLayout
, aby dodać detektor, gdy zmienia rozmiar, więc mogę sprawdzić, czy jest on mniejszy niż wartość i pokazać ten widok.
Może to być trudne do wytłumaczenia, ale uważam, że wyraziłem się jasno. Przeszukałem go i nie mogę znaleźć nikogo, kto próbowałby zrobić to samo.
można po prostu użyć contentScrim? – tachyonflux
@karaokyo the setContentScrim i jego odmiany są tylko dla rysunków i kolorów, chyba że czegoś mi brakuje. https://developer.android.com/reference/android/support/design/widget/CollapsingToolbarLayout.html –