The simplest flow layout

11:18:41
Cong Zhijie 15,903,549,848 2019/5/6 11:18:41

int width = getWidth();
        int disWidth = 18;
        int row =0;
        for (int i=0;i<getChildCount();i++){
            View view = getChildAt(i);
            int measuredHeight = view.getMeasuredHeight();
            int measuredWidth = view.getMeasuredWidth();
            if(disWidth+rowmeasuredHeight>width){
                row++;
                disWidth=18;
            }
            view.layout(disWidth,row
measuredHeight,measuredWidth+width,measuredHeight*(row+1));
            disWidth+=measuredWidth;
        }
    }

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        measureChildren(widthMeasureSpec,heightMeasureSpec);
    }

Guess you like

Origin blog.csdn.net/black_amber/article/details/89878674