Skip to content

Commit 60dfe60

Browse files
authored
Update README.md
1 parent 5cac651 commit 60dfe60

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ HeaderViewAdapter可以对已有的RecyclerView.Adapter进行包装,使其具
2424
```
2525

2626
**2、使用**
27-
```
27+
你需要自己包装HeaderViewAdapter,并且用HeaderViewAdapter给列表添加头部和尾部。它可以包装所有的RecyclerView Adapter和适用于所有的RecyclerView。
28+
```java
2829
//需要包装的adapter
2930
LinearAdapter adapter = new LinearAdapter(this);
3031

@@ -38,7 +39,21 @@ HeaderViewAdapter可以对已有的RecyclerView.Adapter进行包装,使其具
3839
//设置Adapter
3940
recyclerView.setAdapter(headerViewAdapter);
4041
```
41-
如果你的RecyclerView使用的是GridLayoutManager,那你需要使用框架里HeaderViewGridLayoutManager
42-
```
42+
无论我们的RecyclerView使用什么LayoutManager,HeaderViewAdapter都需要保证列表的头部和尾部能占满一行,否则布局就会很难看。使用LinearLayoutManager的时候不需要做特殊的处理,HeaderViewAdapter也已经帮我们处理了StaggeredGridLayoutManager的情况。至于GridLayoutManager的情况,我在HeaderViewAdapter的库里提供了一个HeaderViewGridLayoutManager的子类。所以大家在使用GridLayoutManager的时候,应该使用HeaderViewGridLayoutManager。
43+
```java
4344
recyclerView.setLayoutManager(new HeaderViewGridLayoutManager(this, 2, headerViewAdapter));
4445
```
46+
为了让我们的RecyclerView添加头部和尾部的时候,更接近于ListView的体验。所以我在库里提供了一个RecyclerView子类:HeaderRecyclerView。HeaderRecyclerView封装了对HeaderViewAdapter的所以操作,这使我们只需要操作HeaderRecyclerView,而无需直接跟HeaderViewAdapter打交道,这使得我们使用HeaderRecyclerView的时候就如同以前使用ListView一样。
47+
```java
48+
HeaderRecyclerView rvList = (HeaderRecyclerView) findViewById(R.id.rv_list);
49+
//这是普通的adapter
50+
GridAdapter adapter = new GridAdapter(this);
51+
rvList.setLayoutManager(new GridLayoutManager(this, 2));
52+
//直接设置普通的adapter,不需要直接进行包装。
53+
rvList.setAdapter(adapter);
54+
55+
//添加HeaderView和FooterView。直接操作HeaderRecyclerView。
56+
rvList.addHeaderView(headerView);
57+
rvList.addFooterView(footerView);
58+
```
59+
对HeaderViewAdapter的原理讲解和更多的介绍,请关注我的博客文章:[Android 给RecyclerView添加头部和尾部](http://www.jianshu.com/p/45059108f3a7)。谢谢!

0 commit comments

Comments
 (0)