有2个可以一个接一个地展开/折叠的CollapsingToolbarLayout

时间:2016-01-24 12:12:43

标签: android android-toolbar android-collapsingtoolbarlayout

有没有办法让2个CollapsingToolbarLayouts(一个在另一个之下)可以一个接一个地展开/折叠?

让我们以此图片为例:

enter image description here

第1部分和第2部分是两个CollapsingToolbarLayouts(每个都包含一个我想的工具栏),第3部分是一个可以滚动的列表(RecyclerView)。

用户可以滚动第3部分,它将折叠部分1.一旦部分1完全折叠,它将折叠部分2.折叠2个布局后,用户可以继续滚动列表。

如果用户向另一个方向滚动,他首先必须到达列表的顶部,然后如果他继续滚动,它将展开第2部分,然后在第2部分完全展开后展开部分1扩大。

1 个答案:

答案 0 :(得分:1)

我希望这就是你要找的东西:app:layout_collapseMode="parallax"应该做的。:

示例:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#EEEEEE"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">


            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="250dp"
                android:text="New Button" />

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="250dp"
                android:text="New Button" />

            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="250dp"
                android:text="New Button" />

            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="250dp"
                android:text="New Button" />
        </LinearLayout>


    </android.support.v4.widget.NestedScrollView>

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

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

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

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="100dp"
                    android:minHeight="190dp"
                    android:src="@mipmap/ic_launcher"
                    app:layout_collapseMode="parallax" />

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="100dp"
                    android:layout_marginTop="102dp"
                    android:minHeight="190dp"
                    android:scaleType="fitXY"
                    android:src="@drawable/social"
                    app:layout_collapseMode="parallax" />


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

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

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

另外,您可能需要查看:app:layout_scrollFlags

标志

http://developer.android.com/reference/android/support/design/widget/AppBarLayout.LayoutParams.html

此外,有两个工具栏不是一个好主意,我认为你正在寻找TabLayout,类似这样的例子:

https://github.com/TheLittleNaruto/SupportDesignExample