谷歌官方推出的安卓流布局

名称 flexbox-layout
语言 Android
平台 GitHub
作者 google
链接 点此进入

flexbox-layout是谷歌官方在GitHub上面发布的开源库,在安卓上实现CSS Flexible Box Layout Module 的效果。

使用方法
一共有两种方式,第一种是在XML添加控件,一种是在Java实例化
1. XML:把要放在流布局内的控件放在FlexboxLayout控件内

<com.google.android.flexbox.FlexboxLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:flexWrap="wrap"
    app:alignItems="stretch"
    app:alignContent="stretch" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="120dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="50%"
        />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_alignSelf="center"
        />

    <TextView
        android:id="@+id/textview3"
        android:layout_width="160dp"
        android:layout_height="80dp"
        app:layout_alignSelf="flex_end"
        />
com.google.android.flexbox.FlexboxLayout>
  1. Java:通过提供的接口设置其属性
FlexboxLayout flexboxLayout = (FlexboxLayout) findViewById(R.id.flexbox_layout);
flexboxLayout.setFlexDirection(FlexDirection.ROW);

View view = flexboxLayout.getChildAt(0);
FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams();
lp.order = -1;
lp.flexGrow = 2;
view.setLayoutParams(lp);

更多使用方法请参考其GitHub。

有问题的可以访问原帖地址:https://www.mingtern.com/subject/2517025/ 进行交流

你可能感兴趣的:(安卓,android)