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)], ); ...
最新文章
- excel字段自动java类,Java 接口自动化系列--工具类之Excel测试数据解析封装
- python条形图间距-python matplotlib做对比条形图
- SQL错误提示档案(3):SQL Server连接中的四个最常见错误
- Android平台上使用属性系统(property system)
- (*长期更新)软考网络工程师学习笔记——Section 14 Linux服务器配置
- Buildroot构建指南——Linux内核
- (转)三层相关案例(及常见的错误)
- 电脑鸿蒙运行Linux程序,Linux下的Hi3861一站式鸿蒙开发烧录(附工具)-鸿蒙开发烧录工具软件电脑版-东坡下载...
- maven 项目上传私服pom配置
- 剑指 Offer 55 - I. 二叉树的深度
- 几个 h5页面效果和 自动 app 生成网站 微页
- hdu 4908 BestCoder Sequence
- xmlObj转为数组
- 扇贝有道180628每日一句
- yacc 简易计算机规则,Lex Yacc 学习笔记(2)- 简单计算器
- 教你一键如何更换证件照底色?
- du_Welch_cov_burg 功率谱估计 matlab
- 【LeetCode每日一题】【2021/12/8】689. 三个无重叠子数组的最大和
- 如何获取到javasript链接的网址
- 【测试】测试人员部署测试环境是什么意思