在app的build.gradle中,添加
compile 'com.bartoszlipinski:recyclerviewheader2:2.0.1'
新建一个xml的布局,这些你要的viewHeader的布局样子:(这是继承RelativeLayout的)
recycler_view_header.xml
<?xml version="1.0" encoding="utf-8"?> <com.bartoszlipinski.recyclerviewheader2.RecyclerViewHeader xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/header" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top"> <Button android:id="@+id/bt_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_orange_light" android:gravity="center" android:text="zhang" android:textColor="@android:color/white" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/bt_test" android:background="@android:color/holo_orange_light" android:gravity="center" android:text="zhang phil @ csdn" android:textColor="@android:color/white" /> </com.bartoszlipinski.recyclerviewheader2.RecyclerViewHeader>
在布局文件的recycleView下面,添加。
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView> <include layout="@layout/recycler_view_header" /> <TextView android:id="@+id/noResult" style="@style/ContactItemHeader" android:text="@string/contact_no_result" /> <TextView android:id="@+id/anno" android:layout_width="80dp" android:layout_height="80dp" android:layout_gravity="center" android:alpha="0.5" android:background="@drawable/contact_anno_bg" android:gravity="center" android:textColor="@color/white" android:textSize="@dimen/contact_anno_font" /> <com.tpout.contactrecycler.SideBar android:id="@+id/sideBar" android:layout_width="30dp" android:layout_height="match_parent" android:layout_gravity="end|center" /> </FrameLayout>
https://github.com/blipinsk/RecyclerViewHeader
-
Get the
RecyclerViewHeader
view object with:RecyclerViewHeader header = (RecyclerViewHeader) findViewById(R.id.header);
-
Attach
RecyclerViewHeader
to yourRecyclerView
:RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); // set LayoutManager for your RecyclerView header.attachTo(recyclerView);