Flutter 流式布局组件
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 流式布局组件相关推荐
- Flutter 流式布局、自动换行(Wrap、Flow)
文章目录 流式布局 Wrap Flow 流式布局 流式布局在移动端是非常常见的,比如商品列表,瀑布流.标签页等等.使用Android原生来实现流式布局还是有点麻烦的,甚至需要自定义view或者使用第三 ...
- 第 2-3 课:流式布局组件详解(Flow、Wrap)
这节课将继续讲解 Flutter 的常用组件中的布局使用的组件,本节课主要讲解 Flutter 里的流式布局(或者瀑布)组件的用法.在 Flutter 中主要通过 Flow 和 Wrap 组件来实现流 ...
- Flutter流式布局
Row(children: <Widget>[Text("大帅哥"*100),],), 如果子widget超出屏幕范围,则会报溢出错误.这是因为Row默认只有一行,如果 ...
- Flutter 流式布局之Wrap详解
Wrap Wrap可以为子控件进行水平或者垂直方向布局,且当空间用完时,Wrap会自动换行,也是常说的流式布局. 创建多个子控件做为Wrap的子控件,代码如下: <span style=&qu ...
- Flutter流式布局Wrap使用详解
目录 先看Wrap相关属性 direction alignment spacing与runSpacing runAlignment crossAxisAlignment verticalDirecti ...
- Java | 布局界面之FlowLayout布局(流式布局)
Java的布局中最为简单的便是FlowLayout流式布局 组件按照设置对齐方式从左向右排列,一行排满到下一行继续排列 详细代码请去https://blog.csdn.net/lovemy_baby/ ...
- Swing布局管理器--流式布局管理器
流式布局管理器 FlowLayout流式布局管理器,是JPanel和JApplet的默认布局管理 FlowLayout会将组件从上到下,从左到右的放置规律逐渐进行定位,直到占据这一行所在的空间,才会向 ...
- flowlayout java_Java图形化界面设计——布局管理器之FlowLayout(流式布局)
前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了 ...
- 46、Flutter之 布局组件 流式布局Wrap,Flow
Row 和 Colum 如果子 widget 超出屏幕范围,则会报溢出错误,如: Row(children: <Widget>[Text("xxx"*100)], ); ...
最新文章
- 通过全局路由表的方式实现MPLS ***上互联网
- ee可以有js吗 jvaa_DOTA每日节奏—EE乱选英雄被举报封号,这真的合理吗
- java和php设置的cookies_php带cookie访问下载文件 header设置
- 如何联机调试和发布程序(99$)
- 代码实现两个数交换方法
- Github作为maven私服仓库用
- 修复mysql的view_MYSQL数据损坏修复方法
- Linux下安装JDK7和TomCat7
- Basic Theory of Physically-Based Rendering
- poj 3621 Sightseeing Cows 01分数规划
- IPtables终于可以使用了,客户机不可以上网的问题解决了
- 【渝粤教育】国家开放大学2018年秋季 0014-22T秘书学(一) 参考试题
- ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)
- 未开启3389实现远程桌面
- Java中的正则表达式
- rs232读取智能电表_预付费电表高性价比型号推荐 预付费抄表系统免费安装
- 网络时钟系统(子母钟系统)技术应用方案
- Linux reboot全过程
- Neutron IPAM源码分析
- 数学建模——微分方程