Android RecyclerView ,使用ItemDecoration设置边距的大坑:左右边距不均匀/不同,已解决。
写在前面:最近有一个需求,在长宽固定的一块区域内,使用RecyclerView实现APP显示界面,考虑一下使用了网格布局GridLayoutManager,弄成5列的网格。设置边距的时候,使用ItemDecoration设置上、左边距。但是恶心的事情发生了,明明所有Item都设置了同样的左边距,但是只有第一列的所有item左边距正常,其它Item的左边距大于设置的值,把最后一列都挤到边缘去了,太奇怪了,网上没有靠谱的文章,解决了感觉有必要记录一下。上面太绕了,下面先用图片说明一下。
1、图片说明背景:
设置上面边距效果的代码如下:
GridLayoutManager layoutManager = new GridLayoutManager(getContext(),5);binding.appsRv.setLayoutManager(layoutManager);binding.appsRv.addItemDecoration(new SpacesItemDecoration(SpacesItemDecoration.px2dp(16.67F), 0,SpacesItemDecoration.px2dp(10F),0));
到这里我就百思不得其解了,明明所有Item都设置了相同的左边距,为啥会出现这种偏差呢????下边距也设置成一样的却没有这种问题。SpacesIte