1. 程式人生 > >簡單流式佈局

簡單流式佈局

效果圖
主佈局的類不用更改

自定義類
package com.example.zdy_view4;

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

/**
 * author:Created by MingShao on 2017/11/30.
 */

public class Myviewgroup extends ViewGroup {
    public
Myviewgroup(Context context) { super(context); } public Myviewgroup(Context context, AttributeSet attrs) { super(context, attrs); } public Myviewgroup(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override
protected void onLayout(boolean b, int l, int i1, int i2, int i3) { int currentwidth=0; int currentHeight=0; int childCount=getChildCount(); for(int i= 0;i<childCount;++i){ View view = getChildAt(i); int width = view.getMeasuredWidth(); int
height = view.getMeasuredHeight(); view.layout(currentwidth,currentHeight,currentwidth+width,currentHeight+height); currentwidth+=width; currentHeight+=height; } } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); measureChildren(widthMeasureSpec,heightMeasureSpec); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } }
主佈局
<?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.zdy_view4.MainActivity">

    <com.example.zdy_view4.Myviewgroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="絕望"
            android:padding="10dp"
            android:textSize="20sp"
            />

    </com.example.zdy_view4.Myviewgroup>
</android.support.constraint.ConstraintLayout>