流式布局

来源:互联网 发布:fcn网络结构 编辑:程序博客网 时间:2024/06/15 12:27

在布局文件中直接引用这个类
///////////////////////////////////////////
package com.example.liushi2;

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;

/**
* Created by Administrator on 2017/12/3 0003.
*/

public class Liushi extends ViewGroup {
public Liushi(Context context) {
super(context);
}
public Liushi(Context context, AttributeSet attrs) {
super(context, attrs);
}

public Liushi(Context context, AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);}@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) { //1.初始化宽高  int wid=0;  int hei=0;    //2.得到子view的个数    int childcount=getChildCount();    for(int i=0;i<childcount;i++){        //得到每一个子view        View cview=getChildAt(i);        //得到每一个子view宽高        int width=cview.getMeasuredWidth();        int height=cview.getMeasuredHeight();                                     //此处需要改        cview.layout(wid,hei,wid+width,hei+height);        wid+=width;        hei+=height;    }}@Overrideprotected void onDraw(Canvas canvas) {    super.onDraw(canvas);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    super.onMeasure(widthMeasureSpec,heightMeasureSpec);   measureChildren(widthMeasureSpec,heightMeasureSpec);}

}

原创粉丝点击