flutter开发教程之Row使用

简介: Row是一个用于水平展示多个子控件的控件。row这个控件不会滚动。

1 Row

Row是一个用于水平展示多个子控件的控件。row这个控件不会滚动。如果你有一行控件在空间不足的情况下可以滚动,考虑使用ListView类。


2 构造函数

Row({     Key key,     MainAxisAlignment mainAxisAlignment,     MainAxisSize mainAxisSize,     CrossAxisAlignment crossAxisAlignment,     TextDirection textDirection,     VerticalDirection verticalDirection,     TextBaseline textBaseline,     List<Widget> children = const <Widget>[], })

3 常用属性

3.1 crossAxisAlignment:子组件沿着 Cross 轴(在 Row 中是纵轴)如何摆放,其实就是子组件对齐方式


3.1.1 子组件在 Row 中顶部对齐

CrossAxisAlignment:CrossAxisAlignment.start;

3.1.2 子组件在 Row 中底部对齐

CrossAxisAlignment:CrossAxisAlignment.end;

3.1.3 子组件在 Row 中居中对齐

CrossAxisAlignment: CrossAxisAlignment.center;

3.1.4 拉伸填充满父布局

CrossAxisAlignment:CrossAxisAlignment.stretch;

3.1.5 在 Row 组件中会报错

CrossAxisAlignment:CrossAxisAlignment.baseline;

3.2 mainAxisAlignment:子组件沿着 Main 轴(在 Row 中是横轴)如何摆放,其实就是子组件排列方式


3.2.1 靠左排列

mainAxisAlignment:MainAxisAlignment.start;

3.2.2 靠右排列

mainAxisAlignment:MainAxisAlignment.end;

3.2.3 居中排列

mainAxisAlignment:MainAxisAlignment.center;

3.2.4 每个子组件左右间隔相等,也就是 margin 相等

mainAxisAlignment:MainAxisAlignment.spaceAround;

3.2.5 两端对齐,也就是第一个子组件靠左,最后一个子组件靠右,剩余组件在中间平均分散排列

mainAxisAlignment:MainAxisAlignment.spaceBetween;

3.2.6 每个子组件平均分散排列,也就是宽度相等

mainAxisAlignment:MainAxisAlignment.spaceEvenly;

3.3 mainAxisSize:Main 轴大小


3.3.1 相当于 Android 的 match_parent

mainAxisSize:MainAxisSize.max;

3.3.2 相当于 Android 的 wrap_content

mainAxisSize:MainAxisSize.min;

3.4 textDirection:子组件排列顺序


3.4.1 从左往右开始排列

textDirection: TextDirection.ltr;

3.4.2 从右往左开始排列

textDirection: TextDirection.rtl;

3.5 verticalDirection:确定如何在垂直方向摆放子组件,以及如何解释 start 和 end,指定 height 可以看到效果


3.5.1 Row 从下至上开始摆放子组件,此时我们看到的底部其实是顶部

verticalDirection: VerticalDirection.up;

3.5.2 Row 从上至下开始摆放子组件,此时我们看到的顶部就是顶部

verticalDirection: VerticalDirection.down;

3.6 children Row的子widget

children: <Widget>[],
相关文章
|
4天前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
21 7
|
22天前
|
JSON Dart Java
flutter开发多端平台应用的探索
flutter开发多端平台应用的探索
27 6
|
22天前
|
JSON Dart Java
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
|
25天前
|
安全 Android开发 开发者
探索安卓开发的未来:Kotlin的崛起与Flutter的挑战
在移动开发的广阔天地中,安卓平台始终占据着举足轻重的地位。随着技术的不断进步和开发者需求的多样化,Kotlin和Flutter成为了改变游戏规则的新玩家。本文将深入探讨Kotlin如何以其现代化的特性赢得开发者的青睐,以及Flutter凭借跨平台的能力如何挑战传统的安卓开发模式。通过实际案例分析,我们将揭示这两种技术如何塑造未来的安卓应用开发。
52 6
|
2月前
|
开发框架 Android开发 iOS开发
Flutter相关痛点解决问题之淘特选择桌面端开发框架如何解决
Flutter相关痛点解决问题之淘特选择桌面端开发框架如何解决
|
2月前
|
移动开发 前端开发 JavaScript
"跨界大战!React Native、Weex、Flutter:三大混合开发王者正面交锋,揭秘谁才是你移动应用开发的终极利器?"
【8月更文挑战第12天】随着移动应用开发的需求日益增长,高效构建跨平台应用成为关键。React Native、Weex与Flutter作为主流混合开发框架各具特色。React Native依托Facebook的强大支持,以接近原生的性能和丰富的组件库著称;Weex由阿里巴巴开发,性能优越尤其在大数据处理上表现突出;Flutter则凭借Google的支持及独特的Dart语言和Skia渲染引擎,提供出色的定制能力和开发效率。选择时需考量项目特性、团队技能及生态系统的成熟度。希望本文对比能助你做出最佳决策。
122 1
|
2月前
|
Dart Android开发 iOS开发
Flutter相关痛点解决问题之提升开发效率如何解决
Flutter相关痛点解决问题之提升开发效率如何解决
|
4月前
|
开发框架 移动开发 Android开发
构建高效移动应用:探索Flutter开发框架
【6月更文挑战第28天】随着移动设备的普及,用户对移动应用的需求日益增长。开发者面临着在众多平台间提供无缝体验的挑战。本文深入探讨了Flutter框架如何通过其跨平台特性、热重载功能以及丰富的组件库简化移动应用的开发流程,同时确保高性能和优雅的用户界面设计。
57 2
|
3月前
|
Dart Android开发 iOS开发
flutter插件开发
flutter插件开发
|
3月前
flutter- Row Column Expanded ListView
flutter- Row Column Expanded ListView
下一篇
无影云桌面