我有一个布局如下:
(工具栏,
标题视图,文本视图,RecyclerView)
当我滚动recyclelerview的项目时,我需要标题被折叠.
这样就可以在屏幕上看到“选择项目”和回收器视图.
当工具栏被折叠时,我看到了示例,但是我需要工具栏来始终存在.
我应该使用哪些布局/行为来完成这项工作?
解决方法
你可以通过这样的布局来实现:
<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.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <!-- HEADER --> <RelativeLayout ... app:layout_collapseMode="parallax"> ..... </RelativeLayout> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> <!-- IF YOU WANT TO KEEP "Choose Item" always on top of the RecyclerView,put this TextView here <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="choose item" /> --> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout>
通过拥有app:layout_collapseMode =“pin”属性设置您的工具栏.您可以通过设置app:layout_behavior =“@ string / appbar_scrolling_view_behavior”使RecyclerView正常滚动,这几乎是这样.
NB! “选择项目”的位置TextView取决于您要实现的特定行为:
>您可以将其作为RecyclerView适配器的第一个元素,将其滚动,一旦用户开始滚动RecyclerView;
>你可以将它添加到AppBarLayout中,这样它总是坚持在RecyclerView的顶部,每当你滚动它或不;
您可以在这里阅读更多Android Design Support Library和Design Support Library (III): Coordinator Layout
我希望,它有帮助!