RecyclerView 嵌套RecyclerView 导致滚动问题
父RecyclerView 的子itemview使用了RecyclerView 展示数据,当子RecyclerView 更新时,父RecyclerView 整体会往上跳动一下。这是由于父RecyclerView 和子RecyclerView 互相争夺焦点造成的。
解决方法:
首先给父RecyclerView 所在的布局的根节点添加如下属性:
android:descendantFocusability="blocksDescendants"
descendantFocusability各个属性值的意义见:https://www.diyidaima.com/579.html
然后给父RecyclerView 添加如下属性:
android:focusable="true" android:focusableInTouchMode="true"
或者使用如下代码设置:
RecyclerView parentRecyclerView = findViewById(R.id.parentRecyclerView); parentRecyclerView.setFocusableInTouchMode(true); parentRecyclerView.requestFocus();
最后需要在子RecyclerView 设置如下属性:
android:overScrollMode="never" android:focusable="false" android:focusableInTouchMode="false"
或者使用如下代码设置:
childRecyclerView.setFocusableInTouchMode(false); childRecyclerView.requestFocus();
至此,完成!!!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。