今天分享一下弹性布局FlexboxLayout的使用总结,又是一篇个人有道云笔记转移系列。早些年我们实现一个换行的标签云、实现一个不规则的九宫格、实现一个不规整瀑布流等等这些“嘿嘿嘿”设计总是要思索半天,FlexboxLayout的出现面对这些问题将为你节省几亿个脑细胞不在话下。我第一次接触这个布局方式还是从早前一个前端写H5的小哥嘴里得到的,我顺便举一反三搜了一下发现我们Android上也有,还是google官方出品,看来知识都是相通的。好了,废话不多说,直接淦!
GitHub
官方地址: https://github.com/google/flexbox-layout
接入依赖:
dependencies {
implementation 'com.google.android:flexbox:2.0.1'
}
值得注意的是从1.1.0开始,该库直接对接AndroidX,如果想要使用1.1.0及以上版本尽快升级到AndroidX咯。
简单使用方式
XML
<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>
From Code
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.setOrder(-1);
lp.setFlexGrow(2);
view.setLayoutParams(lp

本文详细介绍FlexboxLayout在Android中的使用方法,包括基本属性配置、子视图管理及复杂布局实现技巧,帮助开发者轻松掌握这一高效布局工具。

1839

被折叠的 条评论
为什么被折叠?



