流式布局

来源:互联网 发布:网络成瘾症 编辑:程序博客网 时间:2024/06/06 01:44

//效果(http://img.blog.csdn.net/20171130152450097?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWJ5c3NhbE1hZ2lj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
//view

package com.example.liushi;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/11/30 0030. */public class liu extends ViewGroup {    public liu(Context context) {        super(context);    }    public liu(Context context, AttributeSet attrs) {        super(context, attrs);    }    public liu(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    //测量    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMeasure(widthMeasureSpec, heightMeasureSpec);        //测量子view      measureChildren(widthMeasureSpec,heightMeasureSpec);    }     //绘制的方法    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);    }    //用来确定子view的位置    @Override    protected void onLayout(boolean changed, int l, int t, int r, int b) {        //初始化子view的宽高     int wid=0;     int hei=0;     //得到子view的个数     int childcount=getChildCount();     for(int i=0;i<childcount;i++) {         //得到这个viewgroup里面的每一个子view         View childView=getChildAt(i);         //得到每一个子view的宽高         int width=childView.getMeasuredWidth();         int height=childView.getMeasuredHeight();        //确定子view的高度         childView.layout(wid,hei,wid+width,hei+height);         //累加所有子view宽高         wid+=width;         hei+=height;     }    }}

//mainactivty

package com.example.liushibuju;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class liushibuju extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_liushibuju);    }}

//xml

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent" tools:context="com.example.liushibuju.liushibuju">   <com.example.liushibuju.view.liu       android:layout_width="wrap_content"       android:layout_height="wrap_content">       <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="心火烧"/>       <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="心火烧"/>       <TextView           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:text="心扉呀"/>   </com.example.liushibuju.view.liu></android.support.constraint.ConstraintLayout>
原创粉丝点击