前言
工欲善其事必先利其器,学习FlexboxLayout之前,先看看它是用来干嘛的,都有哪些特性,了解之后,再来利用它。先放上项目地址–flexbox-layout的GitHub地址
正文
概念
Flexbox,简单理解为弹性盒子,就是一个可伸缩的区域或者空间
在GitHub上,给出的介绍是一个将CSS Flexible Box Layout Module的类似功能带入Android的库,关于CSS的Flexible Box,这里有一篇介绍比较详细的文章 ,尽管具体语法不同,但是思想是想通的,可以参考。
FlexboxLayout可以理解成一个高级版的LinearLayout,因为两个布局都把子view按顺序排列。两者之间最大的差别在于FlexboxLayout具有换行的特性。引入
稳定版本
dependencies {
compile 'com.google.android:flexbox:0.2.6'
}
开发测试版本 –包含了Recyclerview的集成
dependencies {
compile 'com.google.android:flexbox:0.3.0-alpha3'
}
根据个人需求,选择合适版本
- 用法
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:alignItems="flex_start">
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@color/colorAccent" />
<TextView
android:layout_width="100dp"
android:layout_height="150dp"
android:background="@color/blue" />
<TextView
android:layout_width="100dp"
android:la