头脚布局
- 头布局和脚布局在rv中算作一个item, 所以计算
position
的时候应当考虑其中
- 头布局和脚布局也需要使用
addType
函数添加类型
binding.rv.linear().setup {
addType<Model>(R.layout.item_multi_type_simple)
/**
* BRV的数据集 = Header + Footer + Models
* 所以本质上他们都是一组多类型而已, 分出来只是为了方便替换Models而不影响Header和Footer
*/
addType<Header>(R.layout.item_multi_type_header)
addType<Footer>(R.layout.item_multi_type_footer)
}.models = getData()
binding.rv.bindingAdapter.addHeader(Header(), animation = true)
binding.rv.bindingAdapter.addFooter(Footer(), animation = true)
PageRefreshLayout
的缺省页功能会导致整个列表可能都会被缺省页遮挡
如果你希望头布局不会被数据问题影响, 并且和RV联动划动
请使用CoordinatorLayout
嵌套RV
而不是ScrollView/NestedScrollView
嵌套RV或者使用BRV的头布局(Header)
函数
函数 |
描述 |
addHeader / addFooter |
添加头布局/脚布局 |
removeHeader / removeFooter |
删除头布局/脚布局 |
removeHeaderAt / removeFooterAt |
删除指定索引的头布局/脚布局 |
clearHeader / clearFooter |
清除全部头布局/脚布局 |
isHeader / isFooter |
指定索引是否是头布局/脚布局 |
headerCount / footerCount |
头布局/脚布局数量 |