recyclerView.viewTreeObserver.addOnGlobalLayoutListener {//设置recyclerView占比高度
val displayMetrics = Resources.getSystem().displayMetrics
val screenHeight = displayMetrics.heightPixels // 获取屏幕高度(px)
val itemCount = mBinding.rvList.adapter?.itemCount ?: 0
val itemHeight = 150 // 每个 item 预估高度(单位:px),可以改成你的 item 实际高度
val maxHeight = (screenHeight * 0.65).toInt() // 让 RecyclerView 占 65% 屏幕高度
val estimatedHeight = itemCount * itemHeight // 估算 RecyclerView 总高度
val finalHeight = if (estimatedHeight > maxHeight) maxHeight else ViewGroup.LayoutParams.WRAP_CONTENT
mBinding.rvList.layoutParams.height = finalHeight
mBinding.rvList.requestLayout()
}
recyclerView.isNestedScrollingEnabled = true//recyclerView是否在recyclerView高度内滑动
设置了recyclerView占屏幕的高度 以及处理recyclerView在嵌套ScrollView时滑动冲突问题