这个方法主要是需要在Adapter中进行处理,首先我们需要知道recycerview的宽度。然后均分成三分。
private int cacheSpare = 300; //只是为了处理初始值
。。。。
int gridWidth = mRecyclerviewWidth / 3;
int width = DisplayUtil.measureText(itemBinding.tvLab.getPaint(), parameter.mLabel);
int spare = gridWidth - width; //剩余空间
if (cacheSpare > spare) { //使用剩余空间最小的
cacheSpare = spare;
}
if (position % 3 == 2) {
itemBinding.viewDataLayout.setPadding(cacheSpare, 0, 0, 0);
} else if (position % 3 == 1) {
itemBinding.viewDataLayout.setPadding(cacheSpare / 2, 0, 0, 0);
}