Flutter中Expanded组件用法

Expanded组件可以使Row、Column、Flex等子组件在其主轴方向上展开并填充可用空间(例如,Row在水平方向,Column在垂直方向)。如果多个子组件展开,可用空间会被其flex factor(表示扩展的速度、比例)分割。

Expanded组件必须用在Row、Column、Flex内,并且从Expanded到封装它的Row、Column、Flex的路径必须只包括StatelessWidgets或StatefulWidgets组件(不能是其他类型的组件,像RenderObjectWidget,它是渲染对象,不再改变尺寸了,因此Expanded不能放进RenderObjectWidget)。

注意一点:在Row中使用Expanded的时候,无法指定Expanded中的子组件的宽度width,但可以指定其高度height。同理,在Column中使用Expanded的时候,无法指定Expanded中的子组件的高度height,可以指定宽度width。

import 'package:flutter/material.dart';
class LayoutDemo extends StatelessWidget {
@override
Widget 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 Expanded(
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(),
),
);
}

效果图如下:

最新文章

  1. EF6 CodeFirst 实践系列文章列表
  2. 用PHPcms V9四步完成WAP手机站搭建
  3. angularJS 报错: [ngModel:numfmt] http://errors.angularjs.org/1.4.1/ngModel/numfmt?p0=333
  4. java多线程(一)——线程安全的单例模式
  5. sh脚本学习之: sh脚本 、sed、awk
  6. java并发编程:进程和线程
  7. Zookeeper工作原理
  8. C# WebBrowser准确判断网页最终装载完毕
  9. The Basics
  10. 模糊语意变数、规则和模糊运算--AForge.NET框架的使用(二)
  11. mybatis 调用mysql存储过程 带输出输入参数
  12. redis 主从配置实例、注意事项、及备份方式
  13. Unity3D拖尾组件在Ui界面下正常显示
  14. H5 仿ios select滚动选择器。框架。
  15. 小程序使用animation实现跑马灯
  16. Java的学习路线建议(转)
  17. Python常用模块--datetime
  18. README.md文件编辑
  19. [sh]md5sum接变量,find排除,sh判断文件存在
  20. 用指定的用户名和密码无法登录到该ftp服务器

热门文章

  1. Libev源码分析09:select突破处理描述符个数的限制
  2. 用laravel搭一个微信公众号后台
  3. Codeforces Round #577 (Div 2)
  4. H3C TCP连接的建立
  5. oracle CBO下使用更具选择性的索引
  6. Python工程编译成跨平台可执行文件(.pyc)
  7. H3C 显示RIP当前运行状态及配置信息
  8. 714 - Copying Books——[贪心、二分查找]
  9. H3C 配置路由器作为FTP客户端
  10. linux llseek 实现