Flutter的Expanded布局与Android布局中weight属性类似,可以设置占满剩余空间。

1. Expanded构造方法:

const Expanded({Key key,int flex = 1, //占比@required Widget child,}) : super(key: key, flex: flex, fit: FlexFit.tight, child: child);

示例:

import 'package:flutter/material.dart';class ExpandedTestPage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Expanded'),),body: Column(children: <Widget>[_widget1(),SizedBox(height: 20,),_widget2(),SizedBox(height: 20,),_widget3(),SizedBox(height: 20,),_widget4(),],),);}//1.当Row中的组件不使用Expanded的时候Widget _widget1() {return Container(color: Colors.green,child: Row(children: <Widget>[Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),],),);}//2.将Row中的第一个组件使用Expanded包裹Widget _widget2() {return Container(color: Colors.green,child: Row(children: <Widget>[Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),],),);}//3.使用Expanded实现Row中所有组件平均分配剩余空间Widget _widget3() {return Container(color: Colors.green,child: Row(children: <Widget>[Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),],),);}//4.将一个组件设置成其它组件的两倍大小Widget _widget4() {return Container(color: Colors.green,child: Row(children: <Widget>[Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),Expanded(flex: 2,child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),Expanded(child: Image.asset("resource/images/my_image.jpg",width: 100,height: 100,fit: BoxFit.cover,),),],),);}
}

效果如下:

Flutter Widget 之 Expanded(填充布局)相关推荐

  1. 拆!对比详解 Flutter Widget 和 CSS,你关心的布局原理都在这儿了

    简介: 这篇文章专门对比 Flutter Widget 的布局原理和 CSS 布局原理的差异,分享在对接过程中会遇到的问题和解决方案,帮大家理一理思路,内容可以分为这几部分:1.CSS 和 Widge ...

  2. Flutter Expanded扩展布局

    Flutter Expanded扩展布局,比如底部固定高度,上面的空间可以留下给Expanded. 当有多个Expanded时,使用flex属性的值调整他们,以防止竞争空间. children: [E ...

  3. 如何使用Flutter Widget构建响应式应用程序评论

    Changes are usual for an app configuration. When the user rotates the phone either vertically or hor ...

  4. flutter组件之Expanded

    flutter组件之Expanded 自我理解: 如果你了解android开发的话,这个属性就相当于在LinerLayout子空间中的 layout_weight 属性(布局权重) 使用"E ...

  5. Flutter学习指南:UI布局和控件,作为Android开发者

    showDialog(                 // 第一个 context 是参数名,第二个 context 是 State 的成员变量                 context: c ...

  6. Flutter Widget详解

    Flutter Widget详解 Widget是Flutter应用程序用户界面的基本构建块.每个Widget都是用户界面一部分的不可变声明. 与其他将视图.控制器.布局和其他属性分离的框架不同,Flu ...

  7. 【Flutter组件】Expanded详解

    Expanded特点 只能在Column,Row,Flex以及它们的子组件,这里指的是子组件而不是子结点,是指继承Column,Row,Flex的子组件. Expanded的父结点必须是Column, ...

  8. Flutter学习第三课-布局组件 Stack和Positioned

    层叠布局 子组件根据距父容器四个角的位置来确定自己位置.子元素按照代码中声明的顺序作为层级,最后一个声明的子元素会放置在最上层.Flutter中使用Stack和Positioned这两个组件来配合使用 ...

  9. Flutter Widget嵌套深,修改代码麻烦?

    Flutter Widget嵌套深,修改代码麻烦? 背景 解决方法 代码 修改 pubspec.yaml 以支持 Extension: Widget扩展代码: 实际使用: 背景 许多人初次接触Flut ...

最新文章

  1. MOSA 4600 Plus IP PBX FAQ(应用常见知识点-故障排除)(2)
  2. Android Studio实用插件使用
  3. 轻松高效玩转DTO(Data Transfer Object)
  4. Java:继承之super关键字,继承之私有权限,继承之方法重写,继承之object类,继承之简单工厂模式
  5. BPMS表单版本控制设计
  6. JAVA 通过串口发送命令
  7. HTML5第一弹:彩虹爆炸图
  8. ensure函数_webpack的require.ensure()
  9. 前端走向后台,node.js基本
  10. 面试题 01.01. 判定字符是否唯一 (计数排序思想)
  11. C语言之数组为参数传递表示指针(三十七)
  12. 解决Mysql安装之后没有my.ini配置文件问题
  13. C++公约数和公倍数
  14. 接收灵敏度和等效噪声带宽(ENBW)
  15. 阿里天池--宫颈癌检测(基于fastRCNN)新手初次尝试
  16. Pipline 中的Hazard, Forwarding, Stall, Flush和其他
  17. 【OpenCV图像处理】十六、图像空域滤波(下)
  18. MobTech 秒验|极速验证,拉新无忧
  19. 公众号配置服务器信息在哪里,公众号服务器配置在哪
  20. gitpc段提交失败schannel: next InitializeSecurityContext failed: Unknown error (0x80092013

热门文章

  1. Cordova UI框架使用整理(一)_Cordova + Framework7
  2. 毕设学习笔记之CABAC
  3. JavaScript超全学习笔记+Web经典案例,赶快收藏
  4. PDFBox下载及将pdf提取转换为txt文档
  5. HTML 表格排序 PHP 实现NBA常规赛数据统计
  6. Spock测试框架浅尝
  7. python发音机器人_python qq机器之 使用阿里云语音合成让机器人发送好听到炸裂的语音...
  8. 有关cookie:验证_token、CSRF攻击、保存信息_cookie与本地存储、indexDB、
  9. OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
  10. ImageLoader加载图片 默认方式和自定义方式