首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

请像我5岁那样解释: MainAxisSize在Flutter中的用途是什么?

MainAxisSize是Flutter中的一个枚举类型,用于设置主轴的尺寸大小。

在Flutter中,Widget的布局是通过使用Row或Column等布局Widget来实现的,这些布局Widget都有一个mainAxisSize属性。mainAxisSize有两个取值:MainAxisSize.max和MainAxisSize.min。

MainAxisSize.max表示希望在主轴上占据尽可能多的空间,使得主轴的尺寸与父容器的尺寸相等或者最大化。当设置了MainAxisSize.max时,布局Widget会尽量拉伸子Widget在主轴上的尺寸,以填充所有可用空间。

MainAxisSize.min表示希望在主轴上占据尽可能少的空间,使得主轴的尺寸仅包裹子Widget所需的最小空间。当设置了MainAxisSize.min时,布局Widget会尽量收缩子Widget在主轴上的尺寸,以适应子Widget所需的最小空间。

通过使用MainAxisSize属性,我们可以控制主轴上的布局方式,以达到我们想要的展示效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6.Flutter学习之Padding,Row,Column,Expanded组件

mainAxisSize图解 MainAxisSize取值有两种: max:根据传入布局约束条件,最大化主轴方向可用空间; min:与max相反,是最小化主轴方向可用空间; 从这里可以看出来这两个属性与我们接触过...这里值得注意是如果我们将mainAxisSize设置为min,还设置了mainAxisAlignment可能会导致其效果展示不出来。...height: 100, color: Colors.yellow, ) ], ); } } 效果如下,可以从图中看出,主轴并没有像我们想那样出现间隙...关于textDirection和verticalDirection我们不必死记硬背Row是谁控制谁,Column是谁控制谁 我们只需要记住 textDirection就是用来控制水平方向起始位置和排列方向...交叉轴)就是与当前控件方向垂直轴 Expanded 布局 属性 说明 flex 弹性参数 children 子组件 可以把Expanded布局flex看作Androidxml属性android

30510
  • Flutter一切皆widget但是不要将所有东西放入一个widget

    这是 Flutter 口头禅,它揭示了这个非常好 SDK 内在力量! 当我们widgets目录,我们可以看到很多小部件,如Padding,Align,SizedBox,等。...“小部件一切”示例可以Flutter 文档本身中找到。本教程目标是展示如何构建此布局: image-20210822082626144 最终代码达到了它目的:展示如何简单地创建上述布局。...应用程序甚至另一个应用程序另一个页面中共享布局一部分也将更加容易。...第一个版本,MyApp如果我们将其设为StatefulWidget. Flutter 文档解释了这种最佳实践: “当setState()状态上调用时,所有后代小部件都将重建。...因此,将setState()调用本地化到 UI 实际需要更改子树部分。如果更改包含在树一小部分,避免高处调用 setState()。 ” 另一个优点是能够const更频繁地使用关键字。

    1.2K10

    使用 GoRouter 进行 Flutter 导航:Go 与 Push

    使用 GoRouter 进行声明式路由时,深入解释 Go 和 Push 区别 go_router 包是用于声明式路由流行包。...它基于 Navigator 2.0 API,目的是使用声明式路由来降低复杂性,无论您目标平台是什么(移动、Web、桌面),处理来自 Android、iOS 和 Web 深度和动态链接,以及其他一些导航相关场景...但是使用 GoRouter 时,您有两个单独选项: go push 本文将探讨两者区别,以便您根据具体情况选择最合适一种。...3 个页面: 主页、详细信息和model页面 从顶部路线导航 现在,假设我们 HomeScreen,这只是一个带有三个按钮简单页面,回调定义如下: // onPressed callback...如果新路由不是旧路由子路由,这将修改底层导航堆栈。 另一方面,push 将始终将目标路由推送到现有导航堆栈顶部。 ---- 有关 GoRouter 更多信息,务必查看官方文档。

    2.4K10

    flutter Radio 单选框

    Radio 单选框 目前西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒 【x1】点击查看提示 【x2】各种系列教程 【x3】Flutter文章积累目录 1 flutter单选框...= v; }); }, ); } 运行效果如下图所示 实际项目开发,一般单选框都会成组使用,不会单独使用,如下图所示效果: 代码如下:...Row默认填充父布局,用在这里的话,需要将其设置为包裹子布局方式,通过配置mainAxisSize值为MainAxisSize.min来实现。...省略 ], ), ], ); } 目前西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒 【x1】点击查看提示 【x2】各种系列教程 【...x3】Flutter文章积累目录 发布者:全栈程序员栈长,转载注明出处:https://javaforall.cn/140609.html原文链接:https://javaforall.cn

    1.6K20

    Flutte部件目录-基本部件(一)

    使用Flutter视觉,结构,平台和交互式小部件集合更快地创建漂亮应用程序。 基本部件 构建您第一个Flutter应用程序之前,您绝对需要了解这些小部件。...Row部件不会滚动(并且一般认为一行中有更多孩子比适合可用房间更好是错误)。如果您有一行小部件,并希望它们空间不足情况下能够滚动,考虑使用ListView。...final, inherited mainAxisSize → MainAxisSize 主轴上应占多少空间. [...]...Column部件不滚动(并且通常认为宁愿列中有更多子项也不使用适合可用空间是错误)。 如果您有一行小部件,并希望它们空间不足情况下能够滚动,考虑使用ListView。...当一个列有一个或多个Expanded或Flexible子元素,并且被放置另一列,或者一个ListView,或者在其它没有为该列提供最大高度限制上下文中时,你会在运行时说这个异常存在弹性子部件,

    7.5K20

    经典布局:如何定义子控件父容器排版位置?

    Flutter,一个完整界面通常就是由这些小型、单用途基本控件元素依据特定布局规则堆砌而成。...那么今天,我们就一起来了解下,Flutter,搭建出一个漂亮布局,我们需要了解哪些布局规则,以及这些规则与其他平台类似概念差别在哪里。...: Container( child: Text("Container(容器)UI框架是一个很常见概念,Flutter也不例外!...如同AndroidLinearLayout、前端Flex布局一样,Flutter也有类似的概念,即将子Widget按行水平排列Row,按列垂直排列Column,以及负责分配这些子Widget布局方向剩余空间...需要注意是,Positioned控件只能在Stack中使用,在其他容器中使用会报错。 总结 Flutter布局容器强大而丰富,可以将小型、单用途基本视觉元素快速封装成控件。

    4.6K30

    Flutter布局篇(1)--水平和垂直布局详解

    版权声明:本文首发在公众号Flutter那些事,未经授权,严禁转载。 本文版权归作者AWeiLoveAndroid所有,未经授权,严禁私自转载。转载声明原文链接和作者信息。...下文会具体讲解Flutter如何使用Row和Column组件实现LinearLayout效果,以及两者之间对比,方便大家对比学习。...Flutter和LinearLayout对比图示如下: [nb3z93dd54.png] 安卓orientation属性Flutter体现 Row使用示例代码如下所示: [e0c6tgefa4...Flutter我们可以使用 Row/Column组件 MainAxisAlignment 以及 CrossAxisAlignment 实现控件对齐效果。...---- [fpe1ftse6x.png] FlutterRow或Column关于 direction 有2个需要掌握属性,分别是:textDirection 以及verticalDirection

    2.3K20

    Flutter新手入门:从零构建电商应用

    在这个系列,我们将学习如何使用google移动开发框架flutter创建一个电商应用。...本文是flutter框架系列教程第一部分,将学习如何安装Flutter开发环境并创建第一个 Flutter应用,并学习Flutter应用开发核心概念,例如widget、状态等。...本系列教程包含如下四个部分,敬请期待: 如何从零构建flutter应用 如何在flutter布局元素 如何在flutter组织数据 如何在flutter展示数据 1....开发环境安装与Flutter项目创建 Flutter开发文档相当出色,参考官方文档先安装开发环境。 一旦开发环境安装好,我们可以创建一个新测试项目。...接下来Flutter SDK就会为应用创建一个初始目录结构,main.dart是应用执行入口。 ? 2. 编写并测试应用代码 Flutter,一切都是控件(widget)。

    3.1K30

    Flutter 视图布局(一)

    Flutter 实际使用 Row、Column、ListView 这三者都是使用频率较高布局 Widget 。...mainAxisSize mainAxisSize 也是比较简单属性,从名字上来看就可以知道大概结果,主轴大小,意思就是这个属性控制着 Row、Column 主轴方向上大小。...03 - 案例实现 那我们就来实现一下 Flutter 中文网给出例子 【Flutter构建布局】 https://flutterchina.club/tutorials/layout/ 可以看出它将设计图拆分为基本元素...具体代码可以参考: 【Flutter构建布局】 https://flutterchina.club/tutorials/layout/ 或者 配合文章一同食用代码 Github 地址: https...结语 Flutter布局机制核心就是 widget。Flutter,几乎所有东西都是一个 widget - 甚至布局模型都是 widget。

    2.6K61

    Flutter | 布局组件

    Flutter Element 树才是最终绘制树,Element 树是通过 Widget 树来创建 (通 Widget.createElement()) ,Widget 其实就是 Element... Fluter ,根据 Widget 是否需要包含子节点将 Widget 分为了三类,分别对应三种 Element,如下表: Widget 对应 Element 用途 LeafRenderObjectWidget... Flutter 通过 Row 和 Column 来实现线性布局,类似于 Android LinearLayout 控件 Row 和 Column 都继承子 Flex,至于 Fiex 暂不多说...Flow 用转换矩阵对子组件进行位置调整时候进行了优化: Flutter 定位过后,如果子组件尺寸发生了变化, FlowDelegate paintChildren() 方法调用 context.paintChild...,内容就是 Flutter 商品 Container 制定了 宽高为 120,如果不指定 Container 宽高,同时指定 widthFactor 和 heightFactor 为 2也可以达到相同效果

    2.7K30

    Flutter构建布局 顶

    Flutter布局机制如何工作。 如何垂直和水平布局小部件。 如何构建一个Flutter布局。 这是Flutter构建布局指南。 您将构建以下屏幕截图布局: ?...然后本指南回过头来解释Flutter布局方法,并说明如何在屏幕上放置一个小部件。 讨论如何水平和垂直放置小部件之后,会介绍一些最常见布局小部件。...当您重新加载应用程序时,应该会看到截图中显示相同布局。 您可以通过将交互添加到您Flutter应用来为此布局添加交互功能。 Flutter布局方法 重点是什么?...有关支持高程值列表,参见材料准则高程和阴影。 指定不支持值将完全禁用投影。...处理Flutter盒子约束:讨论小部件如何受其渲染框限制。 Flutter添加资产和图像:说明如何将图像和其他资源添加到应用程序包

    43.1K10

    Flutter实战 | 从 0 搭建「网易云音乐」APP(八、我页面)

    ,这样方便操作。...一共分为两块:「创建歌单」、「收藏歌单」。 两个模块 UI 其实是一样,只不过分在了不同列表。 那么先来看一下返回数据是什么: ?...而且展开/收回时候箭头要来回变化,我在前面也写过一篇文章:Flutter | 求求你们了,切换 Widget 时候加上动画吧,这个时候就派上用场了。...整个歌单代码大致如下: Widget _realBuildPlayList() { return Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment...还有一点是:「创建歌单」是可以新建歌单,所以要多处理一下,控制「+」显示与否。 这样就完成了整个歌单列表分拆与显示。 ? 2. 新建歌单 新建歌单相对来说就简单很多了。 ?

    1.5K00

    Flutter 数据持久化存储之Hive库

    ③ CURD 四、源码 前言   Flutter,有多种方式可以进行数据持久化存储。...: hive_generator: build_runner:   dependencies我添加了get和hive库,dev_dependencies添加了一个构建对象依赖库。...HiveField: HiveField 是用来标记类字段(成员变量)注解,用于指定字段 Hive 数据库位置和顺序。...下面我们通过Terminal输入一行代码,生成对应TypeAdapter对象类,代码如下所示: flutter packages pub run build_runner build 输入后回车,...③ CURD   进行CURD时,我们将代码写在GetxController,提供相关函数进行操作,下面我们修改一下HiveController代码: import 'package:flutter

    31900

    为啥Flutter Hooks没有受到太多关注和青睐?

    本文中,我会试着告诉大家如何使用 Flutter Hooks 来减少样板代码,并基本上摆脱你现在用几乎所有有状态小部件(StatefulWidget),让大家知道 Hooks 用起来是多么简单利落!...这里我总结是:“ Hooks 是 UI 逻辑管理者 ”。 接下来我会介绍自己应用中使用最多 Hooks,及其有状态小部件等效形式,方便你对比两者并理解前者带来实际收益。...Memoized Hook 这种 Hook(记忆化 Hook)是小部件生命周期中缓存对象实例一种简单方法。用它可以轻松页面上创建 BLoC、MobX 存储或通知程序对象。...动画 Hooks 下面是一个简单示例,效果是点击按钮时旋转一个框体: import 'package:flutter/material.dart'; void main() => runApp(new...,我们无需放弃控制器,也无需像有状态小部件那样提供 ticker provider。

    1.1K20

    Flutter完整开发实战详解(一、Dart语言和Flutter基础)

    这里主要是需要注意,因为某些不可抗力原因,国内用户需要配置 Flutter 代理,并且国内用户搜索 Flutter 第三方包时,也是 https://pub.flutter-io.cn 内查找...官方也提供了包括IOS开发者,React Native 等开发者迁移到 Flutter文档,所以不要担心,Dart语言不会是你掌握 Flutter 门槛。...3、Flutter Widget   Flutter ,一切显示都是 Widget 。Widget 是一切基础,作为响应式渲染,属于 MVVM 实现机制。...Widget 分为 有状态 和 无状态 两种, Flutter 每个页面都是一帧。无状态就是保持在那一帧。...你需要就是 build 堆积你布局,然后把数据添加到 Widget ,最后通过 setState 改变数据,从而实现画面变化。

    2K30

    Flutter』布局组件 Container、Row、Column、Stack

    Row Flutter,Row和Column是用于布局基本组件,它们分别用于水平和垂直方向上排列子组件。 Row组件可以水平方向上排列其子组件。它是一个灵活布局工具,常用于创建水平布局。...mainAxisSize: 主轴大小,默认为MainAxisSize.max。...Stack Flutter,Stack组件用于将多个子组件重叠在一起。Stack允许子组件相对于其边缘或相对于其他子组件位置进行定位,非常适合用来创建重叠布局。...每个 Container 都有自己尺寸和颜色。 Stack ,这些容器会按照列表顺序层叠显示,最先出现底部,最后出现顶部。...3.2.实现定位 Flutter,使用Stack和Positioned组件可以实现类似CSS绝对定位效果。Positioned组件可以指定子组件Stack的确切位置。

    1.1K30

    Flutter Hero动画开发实用教程

    在这篇文章,将向大家分享Flutter动画中重要一员Hero动画,以及一些Hero动画开发技巧和经验。...大家Flutter开发环境过程遇到无法解决问题可以课程问答区进行提问,课程老师会对你进行辅导和帮助; 精心设计动画会让用户界面感觉更直观、流畅,能改善用户体验。...许多widget,特别是Material Design widgets, 都带有在其设计规范定义标准动画效果,但也可以自定义这些效果,开始学习之前呢,我们先来快速过一下本篇文章目录: 目录 什么是...Hero函数原型函数原型是什么? 如何实现径向Hero动画? 什么是Hero动画? Flutter可以用 Hero widget创建这个动画。...从用户角度来看, Hero 页面之间“飞翔”。

    1.1K10
    领券