使用 RecyclerView 控件实现瀑布流

634 查看

RecyclerView相比于ListView, 在回收重用时更具有灵活性, 也就是低耦合, 并且提供了扩展. 加载多个视图时, 应该多用RecyclerView代替ListView.

更多: http://www.wangchenlong.org/

那么我们来看看这东西应该怎么用? 比如生成一个瀑布流的视图.

recycler-waterfall

首先我们从一个HelloWorld写起, 看看如何构建一个RecyclerView.


依赖

Gradle配置, 添加RecyclerView库的依赖.


布局

布局文件


代码

LayoutManager: 管理RecyclerView的结构.
Adapter: 处理每个Item的显示.
ItemDecoration: 添加每个Item的装饰.
ItemAnimator: 负责添加\移除\重排序时的动画效果.

LayoutManager\Adapter是必须, ItemDecoration\ItemAnimator是可选.


LayoutManager

管理RecyclerView的布局结构.

提供了多种LayoutManager, 瀑布流使用错列网格布局.


Adapter

适配器, 处理RecyclerView的Item事务.

对于Adapter, 我们需要展开来说, 先看看类.

onCreateViewHolder创建ViewHolder.
onBindViewHolder绑定每一项数据.
getItemCount返回列表长度.

RecyclerView强制使用ViewHolder.