如何让TextView跟着RecyclerView滚动?

想要实现下面这张图里面的「Google+上的最新热点信息」的样子,也就是RecyclerView中间分隔的部分插入了文字,而且可以跟RecyclerView一起滚动。

图片描述

我试过在RecyclerView前面加TextView(下图的2015年12月10日),但是不行,TextView并不能随着卡片滚动,而且我这里只是在RecyclerView的开头加了TextView:
图片描述

请问应该怎么实现第一张图里面的TextView随着卡片滚动的效果?那个TextView也是一个RecyclerView吗?谢谢

附第二张图的XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe_refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F0F0F0"
    android:orientation="vertical">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:id="@+id/date_show"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10.0dip"
            android:text="2015年12月10日"
            android:textSize="15.0sp" />
        <android.support.v7.widget.RecyclerView
            android:id="@+id/cards_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clipToPadding="false"
            android:scrollbarStyle="outsideOverlay"
            android:scrollbars="vertical" />
    </LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>



阅读 6.1k
3 个回答

感觉最简单的方法就是利用CoordinatorLayout和AppBarLayout,将TextView放进AppBarLayout中,然后将AppBarLayout和RecyclerView都放进CoordinatorLayout中。但是这样做有个缺陷就是AppBarLayout会自带主题,这会影响我们TextView的背景颜色等,所以需要我们手动设置一些属性来屏蔽来自AppBarLayout自带主题的影响。
我的示例代码(仅仅只屏蔽了AppBarLayout背景颜色的影响)

 <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.design.widget.AppBarLayout
            android:background="@color/white"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <TextView
                android:id="@+id/text_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Hello"
                app:layout_scrollFlags="scroll" />
        </android.support.design.widget.AppBarLayout>
        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
        </android.support.v7.widget.RecyclerView>
    </android.support.design.widget.CoordinatorLayout>

类似ListView,有两种viewType.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏