Android RecyclerView 项间多余边框移除问题求助
解决RecyclerView Item多余边框(仅最后一个无此问题)的方案
问题定位
你遇到的问题大概率和LayoutManager无关,更可能是CardView默认属性、Item间视觉重叠或RecyclerView的clip设置导致的视觉错觉,以下是针对性解决方法:
消除CardView默认阴影/边界
CardView自带的elevation(阴影)常被误判为边框,在Item的CardView布局中添加以下属性彻底消除:app:cardElevation="0dp" app:cardCornerRadius="0dp" app:cardUseCompatPadding="false"修正RecyclerView的clipToPadding属性
你设置了android:clipToPadding="false",会让Item内容超出RecyclerView范围展示,导致相邻Item阴影叠加。建议改为:android:clipToPadding="true" android:paddingBottom="20dp"调整Item的margin避免阴影叠加
当前Item仅设置了android:layout_marginTop="20dp",缺少底部margin会让前后Item阴影挤在一起形成"边框",补充后即可解决:android:layout_marginTop="20dp" android:layout_marginBottom="8dp"检查是否存在多余的ItemDecoration
如果代码中给RecyclerView添加了DividerItemDecoration这类分割线装饰,会直接显示为Item间的边框,移除对应的添加代码即可:// 若有这段代码则删除或注释 // recyclerView.addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
内容的提问来源于stack exchange,提问作者Das Dadas
相关产品推荐
相关产品推荐

