Android随笔——搞定流动布局(FlexboxLayout)

简介: 转载请标明地址 QuincySx:[http://www.jianshu.com/p/fbeb3808a17f]简介FlexboxLayout 是 Google 推出的一个布局,它的作用就和 LinearLayout 相似,如果只是功能相似的...

转载请标明地址 QuincySx:[http://www.jianshu.com/p/fbeb3808a17f]


简介

FlexboxLayout 是 Google 推出的一个布局,它的作用就和 LinearLayout 相似,如果只是功能相似的话,那个谷歌就没有推出他的必要性了,他是一个聪明的布局,他和LinearLayout最大的区别就是能够换行,并且可以和 RecyclerView 无缝使用,今天我们就一点点的来介绍一下这个布局

使用方式

  1. 添加依赖 compile 'com.google.android:flexbox:0.3.0'

2.在布局中使用

<com.google.android.flexbox.FlexboxLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
</com.google.android.flexbox.FlexboxLayout>

这个布局的最新版本、用法大家可以去 Github 上去看,点这里

注: 0.3.0 或以上版本才可以与 RecyclerView 配合使用

主要的几个属性

flexDirection 属性

这个属性的作用就和 LinearLayoutorientation 属性类似,用来控制视图显示是横向还是竖向
row:默认值 表示横向排列
row_reverse:表示横向排列,但是是从右往左排
column:表示竖向排列
column_reverse:表示竖向排列,从下到上排列

flexWrap 属性

这个属性是表示换不换行,因为这个控件默认是不会换行的
nowrap:默认值 不会换行
wrap:换行
wrap:换行,但是排列顺序是反的

alignItems 属性

这是属性是表示各个 View 的对齐方式,这个控件默认的对齐方式是 View 高或宽是一样的,怎讲呢,如果你的排列方式是横向的,那么每个子控件的宽都是一样宽的,但是你的排列方式是竖向的,那么每个子控件的高是相同的
stretch:默认值 表示子控件的高或宽相同
flex_start:左对齐/上对齐 这里它是根据 flexDirection 属性的值不同会有响应变化
flex_end:右对齐/下对齐
center:根据中线居中对齐
baseline:根据内容对齐,和 ConstraintLayout 里面那个对齐有一点类似的意思

justifyContent 属性

这个属性是表示在主轴上的排列方式,再控件无法排列满整个布局时
flex_start:默认值 整体控件都连在一起排列在上方,或下方
center:控件都连在一起,居中排列
flex_end:整体控件都连在一起排列在上方,或下方
space_around:控件都分散开排列,第一个控件,与最后一个控件与父容器有间隔
space_between:遇上一个属性类似,差别在第一个控件,与最后一个控件是贴在父容器边上的

alignContent 属性

此属性与上一个属性是类似的,当开启了换行,由于显示了多行主轴就可能发生了变化,所以效果也会产生变换,当前这个属性就是针对多轴的情况而使用的属性
flex_start:默认值 整体控件都连在一起排列在上方,或下方
center:控件都连在一起,居中排列
flex_end:整体控件都连在一起排列在上方,或下方
space_around:控件都分散开排列,第一个控件,与最后一个控件与父容器有间隔
space_between:遇上一个属性类似,差别在第一个控件,与最后一个控件是贴在父容器边上的

目录
相关文章
|
8月前
|
XML 前端开发 Android开发
Android XML 布局基础(四)内外边距(margin、padding)
Android XML 布局基础(四)内外边距(margin、padding)
169 0
|
8月前
|
编解码 Android开发
Android 常用布局单位区别(dp、sp、px、pt、in、mm)
Android 常用布局单位区别(dp、sp、px、pt、in、mm)
301 0
|
4月前
|
Android开发
Android Studio入门之常用布局的讲解以及实战(附源码 超详细必看)(包括线性布局、权重布局、相对布局、网格布局、滚动视图 )
Android Studio入门之常用布局的讲解以及实战(附源码 超详细必看)(包括线性布局、权重布局、相对布局、网格布局、滚动视图 )
128 0
|
4月前
|
Android开发 容器
Android开发,学习LinearLayout布局
Android开发,学习LinearLayout布局
39 0
|
4月前
|
XML Java Android开发
Android Studio App开发之循环试图RecyclerView,布局管理器LayoutManager、动态更新循环视图讲解及实战(附源码)
Android Studio App开发之循环试图RecyclerView,布局管理器LayoutManager、动态更新循环视图讲解及实战(附源码)
39 0
|
4月前
|
XML Java Android开发
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
58 0
|
4月前
|
Android开发 容器
Android开发第二次课 布局方式
Android开发第二次课 布局方式
23 0
|
6月前
|
XML 前端开发 Android开发
android 前端常用布局文件升级总结(一)
android 前端常用布局文件升级总结(一)
|
8月前
|
Android开发
Android 使用DataBinding时 将布局页面转换为数据绑定布局(Convert to data binding layout) 不出现提示解决办法
Android 使用DataBinding时 将布局页面转换为数据绑定布局(Convert to data binding layout) 不出现提示解决办法
90 0
|
8月前
|
Android开发
Android 实现布局的缩小和再放大动画(使用scale动画效果进行实现)
Android 实现布局的缩小和再放大动画(使用scale动画效果进行实现)
580 0