在使用RevyclerView时,有个需求,列表列数不固定,每个item的高度要和宽度相等具体看图:
三列:
四列:
五列:
方法很简单,重写ImageView,让高度和宽度一样就可以:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getDefaultSize(0, widthMeasureSpec), getDefaultSize(0, heightMeasureSpec));
int childWidthSize = getMeasuredWidth();
// 高度和宽度一样
heightMeasureSpec = widthMeasureSpec = MeasureSpec.makeMeasureSpec(childWidthSize, MeasureSpec.EXACTLY);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
转载请注明原文地址: https://ju.6miu.com/read-674309.html