布局对于移动开发来说,是开发页面的第一步,只有掌握了布局,才能做到心里明白,才能更好、更巧妙的布局。我iOS 一点点的从demo 实践中学习Flutter布局。避免不了从iOS 的布局角度尝试,但是发现Flutter 更iOS 区别很大,Flutter 的布局和安卓、H5的布局非常相似。我只能一点一点的琢磨学习。根据一篇写的不错的文章,加深理解。

Column

1、mainAxisAlignment:主轴布局方式,column主轴方向是垂直的方向

默认值:MainAxisAlignment.start:

  1. start ,沿着主轴方向(垂直方向)顶部对齐;

  2. end,沿着主轴方向(垂直方向)底部对齐;

  3. center,沿着主轴方向(垂直方向)居中对齐;

  4. spaceBetween ,沿着主轴方向(垂直方向)平分剩余空间;

  5. spaceAround,把剩余空间平分成n份,n是子widget的数量,然后把其中一份空间分成2份,放在第一个child的前面,和最后一个child的后面;

  6. spaceEvenly,把剩余空间平分n+1份,然后平分所有的空间,请注意和spaceAround的区别;

2、crossAxisAlignment: 交叉轴的布局方式,对于column来说就是水平方向的布局方式

默认值:CrossAxisAlignment.center,默认是水平居中

  1. start ,垂直主轴方向(水平方向)左侧对齐;

  2. end,垂直主轴方向(水平方向)右侧对齐;

  3. center,垂直主轴方向(水平方向)居中对齐;

  4. stretch ,垂直主轴方向(水平方向)拉伸子child;

  5. baseline,这个要和textBaseline一起使用,;

3、verticalDirection:就是子child的垂直布局方向,向上还是向下

new Column(mainAxisAlignment: MainAxisAlignment.spaceEvenly,mainAxisSize: MainAxisSize.max,crossAxisAlignment: CrossAxisAlignment.center,verticalDirection: VerticalDirection.down,// textDirection:,textBaseline: TextBaseline.alphabetic,children: <Widget>[Container(color: Colors.red,height: 30,width: 30,),Container(color: Colors.blue,height: 30,width: 30,),Container(color: Colors.yellow,height: 30,width: 30,),],),),

默认值:VerticalDirection.down 也就是从上到下的布局

down ,从上向下布局,上图示例我的代码是红、蓝、黄;
up,反过来从下向上布局,反过来就是黄、蓝、红;

认真揣摩它的奥妙,慢慢的就能掌握和iOS 一样的布局了!漫漫Flutter 布局路啊!

编辑参看 作者:liu_520
链接:https://www.jianshu.com/p/1d003ab6c278

Flutter开发之布局-1-Column(15)相关推荐

  1. Flutter开发之布局-4-container(18)

    container 比较像iOS 的View 几乎有所有的布局属性 用来放置widget的容器,有padding.margin.位置.大小等参数. 具体有以下参数: alignment :对齐方式 A ...

  2. Flutter开发之布局-3-center(17)

    Center 居中的布局 只能有一个chlid,但是可以用container包含好多子child,继承自Align. 用于将其子项与其自身对齐,并根据子级的大小自行调整大小. 如果它的尺寸受到约束且[ ...

  3. Flutter开发之布局-2-row(16)

    1.mainAxisAlignment:主轴布局方式,row主轴方向是水平方向 默认值:MainAxisAlignment.start: start ,沿着主轴方向(水平方向)顶部对齐: end,沿着 ...

  4. flutter页面布局HTML,Flutter开发实战初级(2)页面布局详解

    初级根底系列 Flutter开发实战初级(1)ListView详解 Flutter开发实战初级(2)布局详解 项目实战系列 Flutter开发实战 高仿微信(1)主页 Flutter开发实战 高仿微信 ...

  5. 端开发技术—解密Flutter响应式布局

    Flutter是一个跨平台的应用开发框架,支持各种屏幕大小的设备,它可以在智能手表这样的小设备上运行,也可以在电视这样的大设备上运行.使用相同的代码来适应不同的屏幕大小和像素密度是一个挑战. Flut ...

  6. 论Flutter开发如何改善套娃地狱问题

    /   今日科技快讯   / 近日,滴滴旗下自动驾驶公司宣布与广汽埃安新能源汽车有限公司达成战略合作.滴滴出行董事长兼CEO程维与广汽集团董事长曾庆洪,共同见证签约仪式. /   作者简介   / 本 ...

  7. Flutter开发实战 高仿微信(二)发现页

    Flutter开发实战 高仿微信(二)发现页 Flutter开发实战 高仿微信(二)发现页 1.1 微信发现页面简述 1.2 APP框架优化 1.2.1 配置APP Logo和启动图片 1.2.2 配 ...

  8. Flutter开发之环境搭建

    Flutter简介 Flutter 是Google开发的一个移动跨平台(Android 和 iOS)的开发框架,使用的是 Dart 语言.和 React Native 不同的是,Flutter 框架并 ...

  9. 官方文档——一篇文章弄懂Flutter中的布局

    来自Flutter中文资源主页https://flutter.cn/ 原文:https://flutter.cn/docs/development/ui/layout Flutter 中的布局 要点 ...

最新文章

  1. python设置背景音乐_python给视频添加背景音乐并改变音量的具体方法
  2. Ubuntu16.04中安装mininet
  3. centos6 kvm网卡桥接
  4. 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?
  5. 土耳其电影公司选择Infortrend建立PB级数据存储基础设施
  6. 【repost】一探前端开发中的JS调试技巧
  7. mysql n 存储结构,MySQL体系结构和存储引擎概述
  8. OpenShift 4 之Knative(2) - 第一个Serverless应用
  9. Linux文件、文件内容搜索大全(find,grep命令)
  10. PCL Lesson1 :PCL库PCLVisualizer的简单使用
  11. python教程系列(三.6.2、XML)
  12. CFA一级学习笔记--衍生品(一)--概念以及定义
  13. Vivado 信号混频设计
  14. 英文间隔符占位html,HTML空格占位
  15. 如何使用轻快PDF阅读器编辑PDF文件
  16. 【论文解读 WWW 2019 | MVAE】Multimodal Variational Autoencoder for Fake News Detection
  17. 邮箱格式,好用的商务邮箱推荐
  18. 力扣题解:45. 跳跃游戏 II
  19. JavaScript 控制(改变)canvas(画布)的大小
  20. 电子技术课程设计-正弦波发生及频率显示电路-电子线路CAD原理图

热门文章

  1. SSO 认证机制对比
  2. linux串口驱动分析【转】
  3. Fortinet“安立方”架构获得NSS Labs BDS 组测试多攻击维度100%检出率佳绩
  4. 如何批量给数字前面加半角单引号[转]
  5. 一步步部署SharePoint Workflow 2013
  6. LOCALALLOC和GLOBALLOC有什么区别? 全局内存和局部内存有什么区别?(转)
  7. 杨英(帮别人名字作诗)
  8. spring boot跨域问题
  9. Spring boot 梳理 - WebMvcConfigurer接口 使用案例
  10. Python_Note_08Day_10_03_JQuery