注:Recyclerview的adapter使用了第三方库BRV
/**
* 设置列表可见的item数量
* [visibleCount] item可见数量
* [dividerWidth] 分割线高度
*/
private fun setRecyclerviewVisibleItemCount(rv: RecyclerView,visibleCount: Int,dividerWidth: Int){
rv.post {
val itemCount = rv.models?.size//models是BRV的扩展方法
if (itemCount == null || itemCount <= visibleCount){
return@post
}
val firstItemView = rv.getChildAt(0)
firstItemView?.let {
val height = (it.height*visibleCount)+(visibleCount-1)*dividerWidth
val lp = rv.layoutParams
lp.height = height
rv.layoutParams = lp
}
}
}