美文网首页
ScrollView中Recyclerview踩坑

ScrollView中Recyclerview踩坑

作者: wayDevelop | 来源:发表于2018-06-08 15:37 被阅读0次

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

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

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

    • 给scrollview加入一个属性

    android:fillViewport="true"

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

    对于RecyclerView加入两行代码:
    recyclerView.setHasFixedSize(true);
    recyclerView.setNestedScrollingEnabled(false);
    即可使其滑动流畅,有惯性。

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

    在Xml页面顶部位置的布局控件中加入两句代码:
    android:focusable="true"
    android:focusableInTouchMode="true"

    NestedScrollView嵌套Recyclerview时,我们点击Recyclerview的条目之后,发现Recyclerview会被顶上去,后来发现是因为Recyclerview抢占焦点导致的,解决办法:

    在xml布局中的NestedScrollView节点上添加 android:focusableInTouchMode=“true”,在NestedScrollView子节点,一般会为LinearLayout或RelativeLayout中添加 android:descendantFocusability="blocksDescendants"

    相关文章

      网友评论

          本文标题:ScrollView中Recyclerview踩坑

          本文链接:https://www.haomeiwen.com/subject/oijasftx.html