跳转至

扩展函数

RecyclerView

为RV简化的扩展函数, 例如rv.bindingAdapter.models 改为rv.models

函数 描述
bindingAdapter 如果adapter是BindingAdapter则返回, 否则抛出异常
models 设置集合, 会notifyDataChanged()
setDifferModels 设置集合, 使用DiffUtil.calculateDiff来决定notifyXX()更新视图
addModels 添加/插入集合, 会notifyDataChanged()
_data 对应列表的集合对象, 需手动通知更新

布局管理器

快速创建布局管理器

rv.linear().setup {
    addType<SimpleModel>(R.layout.item_simple)
}.models = getData()
rv.grid(3).setup {
    addType<SimpleModel>(R.layout.item_simple)
}.models = getData()
rv.staggered(3).setup {
    addType<SimpleModel>(R.layout.item_simple)
}.models = getData()
函数 描述
linear 使用LinearLayoutManager创建线性列表
grid 使用GridLayoutManager创建网格列表
staggered 使用StaggeredLayoutManager创建瀑布流列表

分隔线

使用divider快速创建DefaultDecoration

rv.linear().divider(R.drawable.divider_horizontal).setup {
    addType<DividerModel>(R.layout.item_divider_horizontal)
}.models = getData()