Flutter组件学习(四)—— 布局组件Row和Column
序言
之前几篇文章介绍了Flutter——Text文字组件,Flutter——Image图片组件,Flutter——TextFiled输入框组件,上面的这些组件可以说是一些直接能“看的到”样式组件,接下来我会带大家一起来学习 Flutter 中的一些“看不到”的布局组件,老规矩,先上图:
介绍
我们都知道,在Android中有几大常用布局,LinearLayout,RelativeLayout,FrameLayout,GridLayout 等等,在 Flutter 中也有类似的一些布局,比如我们今天要讲的 Row/Column 布局;看字面意思我们大概就能知道,这是一个横向布局和一个纵向布局,没错,这两个就对应 LinearLayout 中 orientation 的 horizontal 和 vertical 属性,下面来了解一下这两个布局的用法。
构造方法
1Row({ 2 Key key, 3 MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, 4 MainAxisSize mainAxisSize = MainAxisSize.max, 5 CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, 6 TextDirection textDirection, 7 VerticalDirection verticalDirection = VerticalDirection.down, 8 TextBaseline textBaseline, 9 List<Widget> children = const <Widget>[], 10})
因为这两个的构造方法都是一样的,用法也是一样的,只是方向上的不同,所以我们分析一个就好了:
1、mainAxisAlignment
这个属性用来设置主轴的对齐方式,何为主轴?如果当前是 Row 组件,那么主轴就是水平的,如果当前是 Row 布局,那么主轴就是水平的,这一点有点类似前端的 flex 布局,也有点类似于 Android 中的 ConstraintLayout 布局,它的值有六种:
可能上面的文字说明有点绕,具体效果可以看一下下面这张图:
2、mainAxisSize
这个属性用来设置 Row/Column 布局的宽高值,有两个值可以设置:
具体效果,看下面这张图就一目了然了:
3、crossAxisAlignment
这个属性用来控制非主轴的对齐方式,比如说当你使用 Row 布局的时候,可以设置竖直方向上的对齐方式,Column 也是一样,它的值有五种:
具体效果看下图:
4、textDirection
这个属性用来控制 Row 布局中内部子组件的摆放顺序,有两种:
具体效果如下图所示:
5、verticalDirection
这个属性用来控制 Column 布局中内部子组件的摆放顺序,有两种:
具体效果如下图所示:
6、textBaseline
这个属性也是用来设置子组件对齐的,只不过对齐的是字符的基线,有两个值:
需要注意的是,上文说到,这个需要配合 crossAxisAlignment 属性来使用,来看一下具体的效果:
原文发布时间为:2018-12-17
本文作者:24K纯帅豆
本文来自云栖社区合作伙伴“ IT先森养成记”,了解相关信息可以关注“cyg_24kshign”微信公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
快速开发android,离不开这10个优秀的开源项目
作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的。这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习! 作者:ListenToCode博客:https://www.jianshu.com/p/9742ce36b6a8 KnowWeather GitHub地址https://github.com/SilenceDut/KnowWeather) 一款 Android 开源天气 App ,包含天气信息、详情、生活指数等,通知栏,桌面小部件,定时更新天气等等,应用没有任何广告,支持县级、区级城市的天气,原文:https://www.diycode.cc/projects/SilenceDut/KnowWeather 整体框架 根据实际项目浅谈Android项目中的框架搭建 (https://silencedut.github.io/2016/12/05/根据实际项目浅谈Android项目中的框架搭建/) 关于 知天气——天气尽在掌握之中 (https://silencedut.github.io/2016/12/06/知天气——天气尽在掌握之中/) 特点 支持县...
- 下一篇
react-native trampoline实现
ReactNative有Profiler的功能,能计算每个函数的执行耗时。为了尽量减少测量代码对函数本身执行的影响,ReactNative采用汇编实现Trampoline来实现该功能。本文主要记录该部分核心代码的解读,顺便记录阅读汇编代码的一些技巧。 关键字 arm指令查询地址 arm64调用约定 pseudo-ops 什么是Trampoline Trampoline通常都和跳转相关。本文提到的Trampoline是一个特定的地址,该地址指向特定的功能,待功能执行完毕之后,立马跳出Trampoline回到正常执行路径。 就跟蹦床(英文名:Trampoline)一样,一直在bouncing。 代码实现 ReactNative的Trampoline都是纯手工汇编实现的。因为iOS真机有armv7s、arm64等架构,模拟器有i386、x86_64架构,
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范