CoordinatorLayout と CollapsingToolbarLayout を使用して、組み合わせたレイアウトを作成しようとしています。
最初の状態で、一番上のページにいて、まだスクロールしていないとき、ツールバーを次のように拡張します (はい、実行しました)。
2 番目の状態では、下にスクロールし始めると、以下に示すように画像とツールバーが非表示になります (タブのみが表示されます)。
そして、最後の状態で、リストのある時点 (ただし、リストの一番上ではない) にあると、上にスクロールし始めたいと思います。以下に示すように、whowing を開始します (リストの一番上に到達しなかった場合、画像は表示されず、ツールバーのみが表示されます)。
最初の状態は達成できましたが、他の 2 つの状態には問題があります。CollapsingToolbarLayout 内にツールバーが実装されると、CollapsingToolbarLayout コンポーネントの外でツールバーを使用してできることの柔軟性が明確ではありません。ツールバーを非表示にすることはできません。そうすると、一番上に到達したときにのみ表示されます。
とにかく、現在の XML (以下に表示) は最初の画像が実装された状態ですが、下にスクロールし始めると、ツールバーは上部に留まり、非表示になりません。注: ツールバーを「固定」したままにするように指示する必要があります。そうしないと、ツールバー内の情報が消えて、空のツールバーだけが表示されるからです (これは別の記事で説明しますが、なぜこれが起こるのかを知るのは興味深いことです)。 .
ここに私の現在のxmlがあります:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/benefit_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_material_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/main.collapsing"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
>
<include
android:id="@+id/toolbar_search_container"
layout="@layout/search_box"
android:layout_height="192dp"
android:layout_width="match_parent"
app:layout_collapseMode="parallax"
/>
<include
android:id="@+id/toolbar_benefit"
layout="@layout/toolbar_main"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:contentScrim="?attr/colorPrimary"
/>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/benefit_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
app:tabIndicatorColor="@color/accentColor"
app:tabSelectedTextColor="@android:color/white"
app:tabTextColor="@android:color/black"
app:tabIndicatorHeight="4dp" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/benefit_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<include
layout="@layout/floating_btn_benefits"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
/>
</android.support.design.widget.CoordinatorLayou