NestedScrollView嵌套RecyclerView导致复用机制失效及键盘弹出遮挡问题

NestedScrollView嵌套RecyclerView导致复用机制失效及键盘弹出遮挡问题

原因:NestedScrollView嵌套RecyclerView会导致滑动的时候,滑的是ScrollView,而RecyclerView的高度无限大,故复用机制失效了。在点击末尾item时,键盘也会遮挡,不能正常上移。

解决:将RecyclerView设置固定高度

代码

在设置adapter数据时调用,

setRvListHeight(data.size)
adapter.setNewData(data)
/**
 * 将rv_list设置固定高度,防止NestedScrollView嵌套RecyclerView
 * RecyclerView复用机制失效
 * 也能防止键盘弹出遮挡问题
 */
private fun setRvListHeight(size: Int) {
    if (size >= 10) {//size大小自行调节
        val lp: ViewGroup.LayoutParams = rv_list.layoutParams
        // 获取屏幕高度
        val screenHeight = UIUtils.getScreenHeight(GlobalApplication.getContext())
        lp.height = screenHeight
        rv_list.layoutParams = lp
    } else {
        val lp: ViewGroup.LayoutParams = rv_list.layoutParams
        lp.height = ViewGroup.LayoutParams.MATCH_PARENT
        rv_list.layoutParams = lp
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值