名稱 | flexbox-layout |
---|---|
語言 | Android |
平臺(tái) | GitHub |
作者 | |
鏈接 | 點(diǎn)此進(jìn)入 |
flexbox-layout是谷歌官方在GitHub上面發(fā)布的開源庫幔崖,在安卓上實(shí)現(xiàn)CSS Flexible Box Layout Module 的效果。
flexbox-layoutmanager.gif
使用方法
一共有兩種方式材义,第一種是在XML添加控件,一種是在Java實(shí)例化
- XML:把要放在流布局內(nèi)的控件放在FlexboxLayout控件內(nèi)
<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>
- Java:通過提供的接口設(shè)置其屬性
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);
更多使用方法請(qǐng)參考其GitHub嫁赏。