跳转至

扩展函数

RecyclerView

提供一些BindingAdapter常用的调用

函数 描述
bindingAdapter 如果Adapter是[BindingAdapter]则返回对象, 否则抛出异常
models 数据模型集合, 需要执行notify*函数手动刷新列表
mutable 可增删的[models]数据模型集合, 需要执行notify*函数手动刷新列表
addModels 添加数据, 自动刷新列表

布局管理器

框架还提供快速创建布局管理器的扩展函数, 上面使用示例

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创建瀑布流列表

分割线

框架提供快速设置分隔物扩展函数

rv.linear().divider(R.drawable.divider_horizontal).setup {
    addType<DividerModel>(R.layout.item_divider_horizontal)
}.models = getData()
扩展函数实际上就是使用的DefaultDecoration来创建对象

对话框

通过扩展函数快速给对话框创建列表

Dialog(activity).setAdapter(bindingAdapter).show()

函数

fun Dialog.brv(block: BindingAdapter.(RecyclerView) -> Unit): Dialog