Flutter 流式布局组件

简述

类似于Android中的FlexboxLayout布局。

Wrap

spacing: 主轴间距。runSpacing: 纵轴间距。direction: 布局方向。alignment: 主轴对齐方式。- Axis.horizonta:水平方向。- Axis.vertical:垂直方向。alignment:主轴堆起方式。crossAxisAlignment: 纵轴对齐方式。runAlignment :纵轴方向,每一行的对齐方式

Wrap(//主轴间距spacing: 8,//纵轴间距runSpacing: 4,//布局方向direction: Axis.horizontal,children: List.generate(13,(index) {double w = 50.0 + 10 * index;return Container(width: w,height: 50,color: Colors.red,alignment: Alignment.center,child: Text("$index"),);},),
)

Flow

Flow相比Wrap更加复杂,一般情况优先使用Wrap,如果需要一些自定义布局或性能要求高时可以使用Flow。

Flow(delegate: MyFlowDelegate(margin: const EdgeInsets.all(10)),children: List.generate(13,(index) {double w = 50.0 + 10 * index;return Container(width: w,height: 50,color: Colors.red,alignment: Alignment.center,child: Text("$index"),);},),
)
class MyFlowDelegate extends FlowDelegate {EdgeInsets margin;double width = 0;double height = 0;MyFlowDelegate({this.margin = EdgeInsets.zero});@overridevoid paintChildren(FlowPaintingContext context) {var x = margin.left;var y = margin.top;for (int i = 0; i < context.childCount; i++) {var width = context.getChildSize(i)!.width + x + margin.right;if (width < context.size.width) {context.paintChild(i, transform: Matrix4.translationValues(x, y, 0));x = width + margin.left;} else {x = margin.left;y += context.getChildSize(i)!.height + margin.top + margin.bottom;context.paintChild(i, transform: Matrix4.translationValues(x, y, 0));x += context.getChildSize(i)!.width + margin.left + margin.right;}}}@overridebool shouldRepaint(covariant FlowDelegate oldDelegate) {return this != oldDelegate;}@overrideSize getSize(BoxConstraints constraints) {return const Size(double.infinity, 200);}
}

Flutter 流式布局组件相关推荐

  1. Flutter 流式布局、自动换行(Wrap、Flow)

    文章目录 流式布局 Wrap Flow 流式布局 流式布局在移动端是非常常见的,比如商品列表,瀑布流.标签页等等.使用Android原生来实现流式布局还是有点麻烦的,甚至需要自定义view或者使用第三 ...

  2. 第 2-3 课:流式布局组件详解(Flow、Wrap)

    这节课将继续讲解 Flutter 的常用组件中的布局使用的组件,本节课主要讲解 Flutter 里的流式布局(或者瀑布)组件的用法.在 Flutter 中主要通过 Flow 和 Wrap 组件来实现流 ...

  3. Flutter流式布局

    Row(children: <Widget>[Text("大帅哥"*100),],), 如果子widget超出屏幕范围,则会报溢出错误.这是因为Row默认只有一行,如果 ...

  4. Flutter 流式布局之Wrap详解

    Wrap Wrap可以为子控件进行水平或者垂直方向布局,且当空间用完时,Wrap会自动换行,也是常说的流式​布局. 创建多个子控件做为Wrap的子控件,代码如下: <span style=&qu ...

  5. Flutter流式布局Wrap使用详解

    目录 先看Wrap相关属性 direction alignment spacing与runSpacing runAlignment crossAxisAlignment verticalDirecti ...

  6. Java | 布局界面之FlowLayout布局(流式布局)

    Java的布局中最为简单的便是FlowLayout流式布局 组件按照设置对齐方式从左向右排列,一行排满到下一行继续排列 详细代码请去https://blog.csdn.net/lovemy_baby/ ...

  7. Swing布局管理器--流式布局管理器

    流式布局管理器 FlowLayout流式布局管理器,是JPanel和JApplet的默认布局管理 FlowLayout会将组件从上到下,从左到右的放置规律逐渐进行定位,直到占据这一行所在的空间,才会向 ...

  8. flowlayout java_Java图形化界面设计——布局管理器之FlowLayout(流式布局)

    前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了 ...

  9. 46、Flutter之 布局组件 流式布局Wrap,Flow

    Row 和 Colum 如果子 widget 超出屏幕范围,则会报溢出错误,如: Row(children: <Widget>[Text("xxx"*100)], ); ...

最新文章

  1. 通过全局路由表的方式实现MPLS ***上互联网
  2. ee可以有js吗 jvaa_DOTA每日节奏—EE乱选英雄被举报封号,这真的合理吗
  3. java和php设置的cookies_php带cookie访问下载文件 header设置
  4. 如何联机调试和发布程序(99$)
  5. 代码实现两个数交换方法
  6. Github作为maven私服仓库用
  7. 修复mysql的view_MYSQL数据损坏修复方法
  8. Linux下安装JDK7和TomCat7
  9. Basic Theory of Physically-Based Rendering
  10. poj 3621 Sightseeing Cows 01分数规划
  11. IPtables终于可以使用了,客户机不可以上网的问题解决了
  12. 【渝粤教育】国家开放大学2018年秋季 0014-22T秘书学(一) 参考试题
  13. ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)
  14. 未开启3389实现远程桌面
  15. Java中的正则表达式
  16. rs232读取智能电表_预付费电表高性价比型号推荐 预付费抄表系统免费安装
  17. 网络时钟系统(子母钟系统)技术应用方案
  18. Linux reboot全过程
  19. Neutron IPAM源码分析
  20. 数学建模——微分方程

热门文章

  1. 企业员工信息管理系统源码+ppt+论文+中期检查表+sql
  2. 一个永续合约DEX,三种收益
  3. iPhone通讯录号码不见了怎么恢复
  4. java学习 8.7
  5. 写文章一年多以来,我经历了被喷被拉黑被赞美,我哭了
  6. 一级减速器装配图和零件图——课程设计
  7. 1131 神犇的悲惨一生
  8. Vegas 使用教程(三)视频比例和素材去黑边
  9. 买房到底是贷款买房好还是全款买房好?
  10. 替换XP的系统字体为Vista的Segoe UI字体的较完美方法