水平布局

Row控件即水平布局控件,能够将子控件水平排列。

Row子控件有灵活与不灵活的两种,Row首先列出不灵活的子控件,减去它们的总宽度,计算还有多少可用的空间。然后Row按照Flexible.flex属性确定的比例在可用空间中列出灵活的子控件。要控制灵活子控件,需要使用Flexible控件:

import 'package:flutter/material.dart';
class LayoutDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text('水平方向布局'),),body: new Row(children: <Widget>[new RaisedButton(onPressed: () {print('点击红色按钮事件');},color: const Color(0xffcc0000),child: new Text('红色按钮'),),new Flexible(flex: 1,child: new RaisedButton(onPressed: () {print('点击黄色按钮事件');},color: const Color(0xfff1c232),child: new Text('黄色按钮'),),),new RaisedButton(onPressed: () {print('点击粉色按钮事件');},color: const Color(0xffea9999),child: new Text('粉色按钮'),),]),);}
}
void main() {runApp(new MaterialApp(title: 'Flutter教程',home: new LayoutDemo(),),);
}

垂直布局

Column控件即垂直布局控件,能够将子控件垂直排列。

与Row控件一样,Column控件的子控件也有分灵活与不灵活的。首先Column列出不灵活的子控件,减去它们的总高度,计算还有多少可用空间。然后Column按照Flexible.flex属性确定的比例在可用空间中列出灵活的子控件。要控制灵活子控件,需要使用Flexible控件:

import 'package:flutter/material.dart';
class LayoutDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text('垂直方向布局'),),body: new Column(children: <Widget>[new RaisedButton(onPressed: () {print('点击红色按钮事件');},color: const Color(0xffcc0000),child: new Text('红色按钮'),),new Flexible(flex: 1,child: new RaisedButton(onPressed: () {print('点击黄色按钮事件');},color: const Color(0xfff1c232),child: new Text('黄色按钮'),),),new RaisedButton(onPressed: () {print('点击粉色按钮事件');},color: const Color(0xffea9999),child: new Text('粉色按钮'),),]),);}
}
void main() {runApp(new MaterialApp(title: 'Flutter教程',home: new LayoutDemo(),),);
}

Flutter基础—布局模型之水平垂直相关推荐

  1. Flutter基础—布局模型之滚动块

    ListView即滚动列表控件,能将子控件组成可滚动的列表.当你需要排列的子控件超出容器大小,就需要用到滚动块. import 'package:flutter/material.dart'; cla ...

  2. Flutter基础—布局模型之层叠定位

    Stack即层叠布局控件,能够将子控件层叠排列. Stack控件的每一个子控件都是定位或不定位,定位的子控件是被Positioned控件包裹的.Stack控件本身包含所有不定位的子控件,其根据alig ...

  3. Flutter基础布局组件及实现

    https://www.cnblogs.com/lxlx1798/p/11084904.html 一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Paddi ...

  4. Flutter 基础布局之Row

    Row意为水平布局,可以使其包含的子控件按照水平方向排列 代码如下: class _TestState extends State<Test> {@overrideWidget build ...

  5. Flutter 基础布局Widgets之Expanded详解

    Expanded概述 Expanded是用于展开Row,Column或Flex的子child的Widget. 使用Expanded可以使[Row],[Column]或[Flex]的子项扩展以填充主轴中 ...

  6. Flutter 基础布局之Column

    Column意为垂直布局,可以使其包含的子控件按照垂直方向排列 代码如下: class _TestState extends State<DemoPage2> {@overrideWidg ...

  7. Flutter 基础布局Widgets之Baseline、AspectRatio详解

    Baseline概述 Baseline即根据child的baseline定位child的小部件,即使得不同的child都处在规定的基线位置,尤其是多用在文字排版中,比如使得不同大小的文字处于同一水平线 ...

  8. flutter基础布局之 Drawer

    Drawer 一般放在标题栏上,通过ListView和ListTile的配合,用于显示隐藏的标题. Scaffold(appBar: AppBar(title: const Text('Drawer ...

  9. Flutter 布局Row(水平方向布局)、Column(垂直方向布局)、Wrap(可以自动换行的布局)、Flex(弹性布局)、Stack(叠层布局)、

    1.线性布局 Row 水平方向布局 Row({... //表示水平方向子组件的布局顺序(是从左往右还是从右往左),//默认为系统当前Locale环境的文本方向(如中文.英语都是从左往右,而阿拉伯语是从 ...

最新文章

  1. Java 使用itextPdf7操作pdf,写入照片这一篇就够了
  2. css清楚浮动的class
  3. Windows xp下配置Apache、PHP环境及Oracle10g客户端
  4. linux shell 学习
  5. android 插补器Interpolator的使用
  6. [地球人]BlogEngine.NET[Appwo.com版]+采集器
  7. 前端工程师面试题汇总
  8. NET问答: 是否有通用的方法判断一个 Type 是 Number ?
  9. js 正则表达式实现文本验证
  10. popupmenu java_Java基于JPopupMenu实现系统托盘的弹出菜单,解决PopupMenu弹出菜单中文乱码...
  11. 利用python分析电商_Python实现爬取并分析电商评论
  12. 水下清淤机器人_水下清淤机器人启用,箱涵清淤有了新招数~
  13. 《node2vec Scalable Feature Learning for Networks》阅读笔记
  14. css代码样式大全(整理版)
  15. 超详细的单臂路由详解
  16. 利用Photos 框架搭建美图秀秀相册选择器
  17. 计算机鼠标不灵活怎么办,鼠标不灵怎么办 鼠标不灵的常见解决方法
  18. 五点差分法求解偏微分方程(PDE)
  19. 机器学习 28 个视频教程
  20. 小学生计算机课程的简报,《让故事动起来》——信息技术公开课简报

热门文章

  1. 计算机网络 第二章 物理层
  2. 梯度下降优化算法综述(转载)
  3. leetcode44:wildcard
  4. mybatis resultMap映射学习笔记
  5. arm-none-linux-gnueabi交叉工具链 no such file or directory
  6. 记坑 ----- Arrays.sort()
  7. selenium操作webdriver(一)
  8. flex 常用正则验证举例
  9. Scrum立会报告+燃尽图(Beta阶段第一次)
  10. JAVA虚拟机类加载机制之类加载的时机双亲委派模型