是否可以使用具有多个布局的CollapsingToolbarLayout?

时间:2018-01-14 16:03:26

标签: android android-coordinatorlayout android-collapsingtoolbarlayout android-appbarlayout

我想拥有以下用户界面:

Title -  app:layout_scrollFlags="scroll|exitUntilCollapsed"
Subtitle app:layout_scrollFlags="scroll|enterAlways"
List of items

我想在用户位于底部时仅​​显示副标题并滚动一点。当用户从底部滚动到达顶部时,我想显示标题。

问题是我无法将应用程序:layout_scrollFlags =“scroll | enterAlways”和app:layout_scrollFlags =“scroll | exitUntilCollapsed”设置为LinearLayout中的项目(title_layout和subtitle_Layout)。我怎样才能解决这个问题?

这是我当前的布局UI:

 <android.support.design.widget.CoordinatorLayout
        android:id="@+id/coord_toolbar_layout"
        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.AppBarLayout
            android:id="@+id/app_bar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >

            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"                  
                app:layout_scrollFlags="scroll|enterAlways"
                >

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

                    <include
                        android:id="@+id/item_layout"
                        layout="@layout/title_layout"
                        android:layout_width="match_parent"
                        android:layout_height="40dp"
                        />

                    <ViewStub
                        android:id="@+id/subtitle_layout"
                        android:layout_width="match_parent"
                        android:layout_height="40dp"
                        app:layout_collapseMode="parallax"
                        app:layout_collapseParallaxMultiplier="0.7"
                        />

                </LinearLayout>

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    />

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


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

        <ViewStub
            android:id="@+id/stub"
            android:layout_width="match_parent"
            android:layout_height="match_parent"         
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            />

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

1 个答案:

答案 0 :(得分:0)

collapsemode的子项使用collapsing toolbar而不是scrollFlags。并根据您的需要使用pinparallax等等。if(userReachedBottom){ appBar.setExpanded(true);}scrollStateChanged nestedscroll或滚动视图title.setVisibility(Vsisible);subtitle.setVisibility(Gone);在底部title.setVisibility(Gone);subtitle.setVisibility(Visible);