ScrollView/NeedScrollView嵌套Recyclerview显示不全问题

最近在项目中发现对于ScrollView嵌套RecyclerView显示和滑动方面有些问题,就简单讲讲解决办法。

之前有简单写过处理ScrollView嵌套RecyclerView不显示问题:

解决办法:首先,将嵌套在外层的ScrollView的宽、高均设置为match_parent,然后,在ScrollView的布局中加入一句话:

android:fillViewport="true"

(ScrollView如果宽高为wrap_content,或者ScrollView中没有android:fillViewport="true",RecyclerView会不显示)。

问题1、在6.0以上版本中ScrollView嵌套RecyclerView显示了,但是显示不完全

解决:这其实是在版本升级以后的一个小bug,只需要在RecyclerView的外层再嵌套一个RelativeLayout即可,这样RecyclerView就可以显示完整,不用像一些博客说的那样进行高度计算和OnMeasured()重写。

问题2、ScrollView嵌套RecyclerView后滑动很缓慢,不流畅,没有惯性

解决:对于RecyclerView加入两行代码:

recyclerView.setHasFixedSize(true);

recyclerView.setNestedScrollingEnabled(false);

即可使其滑动流畅,有惯性。

问题3、ScrollView嵌套RecyclerView后,页面不会从页面顶部开始显示,会从RecyclerView第一个Item的位置开始显示

解决:在Xml页面顶部位置的布局控件中加入两句代码:

android:focusable="true"

android:focusableInTouchMode="true"


 

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值