ScrollView嵌套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的外层再嵌套一个LinearLayout或者 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"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,637评论 25 708
  • 项目中遇到页面整体需要可以垂直方向滑动,页面内部嵌套一个或者多个recyclerview的情况(不管是横向还是竖向...
    北方南山阅读 4,320评论 0 2
  • 工作中 为了不被别人抓住自己的弱点 总是用力的隐藏强硬支撑 到头来 变得敏感少语郁郁寡欢 没有耐心容易暴躁 更不喜...
    我在人间摸鱼阿阅读 279评论 0 0
  • ***: 你好——这一声招呼打的多生份啊。 是我的热情和主动吓到了你吧?这么长时间没有和我联系。好了,放心,我是把...
    水玉阅读 222评论 0 1
  • 昨天去见了一个去年在青藏铁路上认识的青岛人,碰巧他来上海出差。其实我们的三观也不算相合,只不过最近空着闲着,也就出...
    娃zi山阅读 316评论 2 1