Android RecyclerView滑动时子item溢出控件外部问题求助,附XML布局
修复方案
1. 为RecyclerView添加边界裁剪属性
在现有RecyclerView的XML声明中新增以下两个属性,强制裁剪所有超出控件范围的子View内容:
android:clipChildren="true" android:clipToPadding="true"
修改后的完整RecyclerView配置:
<androidx.recyclerview.widget.RecyclerView android:id="@+id/rcv_chat_details" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/layout_message" android:layout_below="@id/toolbar_chat_details" android:clipChildren="true" android:clipToPadding="true" />
2. 关闭RecyclerView默认item动画(方案1无效时尝试)
部分场景下RecyclerView自带的item滑动/更新动画会触发绘制溢出,可在初始化代码中关闭动画:
Kotlin代码:
rcv_chat_details.itemAnimator = null
Java代码:
rcv_chat_details.setItemAnimator(null);
3. 检查子item布局配置
如果以上方案均未解决问题,请排查RecyclerView的单个item布局,确认是否存在负边距设置、位移属性配置、自定义绘制超出item边界的情况,对应调整即可。
内容的提问来源于stack exchange,提问作者Lộc Trần Phước
相关产品推荐
相关产品推荐

