首页
学习
活动
专区
圈层
工具
发布

Flutter 状态管理之GetX库

创建后我们可以看到main.dart,这里是flutter启动文件,同时我启动了一个模拟器,用的雷电模拟器,至于为什么不用AS自带的模拟器,只能说懂的都懂,不懂的也劝你别去用。   ...运行好了,效果如下图所示:   当我们点击右下角的浮动按钮之后就会看到屏幕中的数字加1,关于这个里面的内容我在第一篇Flutter文章中就介绍过了,因此下面我们就不过多介绍代码,我们将main.dart...在实践中,以下是一些使用场景的示例: 使用 StatelessWidget:当小部件的外观和内容不会随时间而改变时,推荐使用 StatelessWidget,例如静态文本、图标等。...在body中,使用Align组件将其子组件在父容器中居中显示。Alignment.center表示子组件在父容器中的居中对齐。...① 添加依赖 在项目的pubspec.yaml文件中,将GetX添加为依赖项: dependencies: get: 添加位置如下图所示: 这里后面我并没有写版本号,这表示获取最新的版本,如需获取指定版本

3.2K01

带你深入理解 Flutter 中的字体“冷”知识

根据文档可知,首先 TextStyle 中的 height 参数值在设置后,其效果值是 fontSize 的倍数: 当 height 为空时,行高默认是使用字体的量度(这个量度后面会有解释); 当 height...image 另外上图的 BaseLine 也解释了:为什么 fontSize 为 100 的 H 字母,不是充满高度为 100 的蓝色区域。...image 不过这里的 Hg 是往下偏移的,为什么这样偏移在后面会介绍,还会有新的对比。...这时候,如果在上面条件不变的情况下,把 Text 中的文本变成 "Hg\nHg" 这样的两行文本,可以看到换行后的文本重叠在了一起,所以 StrutStyle的 fontSize 也是会影响行高。...和紫色区域高度又重叠了,不同的对比之前的 Hg 在这次充满显示是居中。

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    谷歌移动UI框架Flutter教程之Widget

    这里为什么非要用Android Studio,我可以解释一下。...学过前端的同学对UI部分应该都很了解,那Flutter当然也没有什么特别的,无非也就是文本内容、大小、字体样式、颜色等等的设置,那么首先我们就先来编写一个案例。...具体的代码我就不一一介绍了,可以先不用理解每一行代码的意思。其中的Text便是文本组件,只需将值写入括号,便可以在文本框中显示,然后是文本框的一些属性。接下来我们运行起来看一下。 ?...即使没有一点Dart语言基础的同学也是可以很容易地学会Flutter的,只不过在某些Dart语法上就只能死记了,记住它,不用管为什么。那么现在来运行看下效果。 ?...会发现 ,这个按钮的右边空出了一块,这是为什么呢?其实是因为我们使用的是一个不灵活的水平布局,那么既然有不灵活的水平布局,那就肯定会有灵活的水平布局。

    2.5K10

    Flutter 零基础入门(十六):Widget 基础概念与第一个 Flutter 页面

    官方定义: Flutter 是一个 使用 Dart 构建跨平台 UI 的框架 但更准确的一句话是: Flutter = 用 Dart 写 UI 二、什么是 Widget?...空白也是 Widget Flutter 没有“页面对象”,只有 Widget 树 三、Widget 的本质 从 Dart 角度看: Widget 是一个类 从 Flutter 角度看: Widget...是 UI 的描述 Widget 不是控件本身,而是: “我希望界面长什么样” 四、最简单的 Flutter 程序结构 一个 Flutter App 的入口仍然是 main: void main()...StatelessWidget 表示: 没有状态变化的 Widget 特点: 一旦创建,内容不变 适合展示静态 UI 例如: 文本 图标 固定布局 七、build 方法是干什么的?...4️⃣ Center Center( child: Text('Hello'), ) 用于居中子 Widget。

    13910

    Flutter for OpenHarmony前置知识《Flutter 基础组件初探:第一章》

    有同学反应配置好环境后不会用,VON这里就保姆级教学,确保大家可以使用Flutter来实现跨平台开发 将你们之前拉取的项目用vscode或者trae打开,为了照顾萌新我这里尽量描述的详细点 没有拉取过项目的可以参考我之前的文章...title 属性接受任意 Widget,通常使用 Text 显示页面标题。 9. body: Center(child: Text('Hello, World!'))...核心概念总结 概念 说明 Widget Flutter 中一切皆 Widget,包括布局、文本、按钮、甚至应用本身。 StatelessWidget 无状态组件,UI 不会随数据变化而更新。...内部用 Center 让文字居中。 展示了 Container 的基本用法:尺寸 + 背景 + 子组件布局。 6....mainAxisAlignment: MainAxisAlignment.center:让两个文本在绿色方块内水平居中。 中间用 SizedBox(width: 8) 添加水平间距,避免文字粘连。

    17510

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

    接下来,我们再来看看单子Widget布局容器中另一个常用的容器Center。正如它的名字一样,Center会将对其子Widget居中排列。...比如,我可以把一个Text包在Center里,实现居中展示: Center( child: Text("Center"), ); ?...需要注意的是,为了实现居中布局,Center所占据的空间一定要比其子Widget要大才行,这也是显而易见的:如果Center要和其子Widget一样大,自然就不需要居中,也没空间居中了。...在这个例子中,我先在Stack中放置了一块300x300的黄色画布,随后在(18,18)处放置了一个50x50的绿色控件,然后在(18,70)处放置了一个文本控件。...而Padding与Center提供的功能,则正如其名一样简洁,就是对齐与居中。 多子Widget布局有Row和Column,使用Expanded控件使用容器内部的剩余空间。

    5.8K30

    原来你是这样的Flutter

    比如Center就向它的子Widget传递居中的约束,当访问到叶节点的时候,这时候Widget树上所有的Widget都知道了它们的约束,这时候他们就可以根据已有的约束自己确定它们实际要占有的大小跟位置,...这是我从谷歌找到的一张图: ? 那屏幕上绘制的既然不是我们代码里写的Widget树,那到底是什么呢?...为什么有三兄弟? 那到底为什么要设计出这三层呢,直接绘制不好吗?为什么要增加这样的复杂度呢?...原来,当重新build的时候,Element还是指向它原来位置对应的Widget,我们的Widget并没有key,那它只根据运行时类型来判断是否有改变,我们这儿俩个类型都是一样的,都是FancyButton...但是颜色是在State里面定义的,State并没有被销毁,因此只根据运行时类型Element最终会认为没有修改,所以我们看到颜色没有更新,那为什么文字跟点击事件变了呢,那是因为这俩是从外部传递过来的,外部重新创建了呀

    86510

    Flutter跨平台移动端开发丨Column、Row、Flex、Wrap、Flow、Stack

    中的 id) alignment:如果子 widget 没有设置定位(无 positioned)或只指定了部分定位,则此参数为子 widget 的定位标准。...textDirection:用于决定 alignment 的参考标准,与 row 布局中参数功能一致 fit:如果子 widget 没有定位,则此参数将指定子 widget 以怎样的方式适应 statck...StackFit.loose = 使用子 widget 的大小,StackFit.expand = 扩展至 stack 大小 overflow:如果子 widget 超出了 stack 的空间,则此参数将指定如何显示..."), ) ], ), ), ), ); } } 我是一只小小鸟:没有指定定位(无 positioned...),alignment = Alignment.center,所以居中显示 想飞飞飞:指定了 left ,属于部分定位,只指定了水平定位,无垂直定位,所以垂直对齐的方式会按 alignment 的赋值参数

    2.3K30

    带你深入 Dart 解析一个有趣的引用和编译实验

    当我们对于 int 、 double 这些 class 进行的 + 、- 、* 、 \ 等操作时,其实是执行了这个 class 的 operator 操作符的操作, 然后返回了新的 num 对象。...答案是打印出来的都是 3。 为什么呢?...让我们看这段代码编译后的逻辑,如下所示代码,可以看到上述代码编译后, print 函数里指向的永远是 idx 这个 int* 指针,当我们点击时,最终打印出来的都是最后的 idx 的值。...为什么呢? 我们继续看编译后的代码,可以看到都是打印的 idx ,为什么这样就可以正常呢? 这里最大的不同就是idx 被声明的位置不同。...至于为什么会有这样的逻辑,在深入的运行时逻辑就没有去探索了(懒),推测应该是编译后的二进制文件在运行时,针对循环外的参数和循环内的参数优化有关系。

    1.5K20

    Flutter for OpenHarmony 布局探秘:从理论到实战构建交互式组件讲解应用

    Column:在这里,Column 负责将标题和描述文本垂直堆叠。crossAxisAlignment: CrossAxisAlignment.start 确保文本左对齐,而不是默认的居中对齐。..."使用 SizedBox (固定间隔)" : "使用 Expanded (填满间隔)"), ); } } StatefulWidget:当组件的状态(如颜色、文本、布局)需要随时间变化时,必须使用...Padding、Center、Align 这些看似是属性的东西,在 Flutter 中都是独立的 Widget。...这种设计带来了极高的灵活性——您可以将任何组件包裹在 Padding 中来增加间距,或者包裹在 Center 中来居中显示。 基于约束的布局 Flutter 的布局过程是一个“父与子的对话”。...子组件根据这个约束计算出自己的大小,然后告诉父组件。 SizedBox 告诉子组件:“你必须是我设定的大小。” Expanded 告诉子组件:“你必须填满我给你的剩余空间。”

    11410

    CreatorPrimer(16)|物理小游戏(开篇)

    我提供的建议 我提供的建议反而把杨翔同学带歪了,他是越做越迷胡! ?...游戏界面 界面编辑我相信大多数同学都很熟悉了,但重要的是要让UI做到屏幕自适应,这里就需要使用到Widget组件做相对定位: ?...生命值Label居中对齐 注意Wiget组件下方Horizontal Center属性,它是设置垂直居中,Vertical Center是水平居中,选中后会出现输入框,其中的数值表示与中点的偏移,我们这里是放在正中所以偏移是...实现Demo的所用文件 本篇主要介绍了Widget组件的使用,请参考工程源码,了解各关键节点的Widget组件的设置。...有机会将Demo中的美术素材换的好看一点,在此感谢大家的关注与支持!

    62930

    【Flutter】StatelessWidget 组件 ( CloseButton 组件 | BackButton 组件 | Chip 组件 )

    @override Widget build(BuildContext context) { // 文本组件样式 , 可以设置给 Text 文本组件 // 设置字体大小 20, 颜色红色...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置...faq/ ( 入门阶段推荐看一遍 ) 博客源码下载 : GitHub 地址 : https://github.com/han1202012/flutter_cmd ( 随博客进度一直更新 , 有可能没有本博客的源码

    1.7K00

    Flutter Hello World

    且听我说…… 因为默认的例子和官网教程虽然是可以运行了,但是我觉得还是不够详细。所以既然是要学习的话,为什么不从0开始学习,一点一点来把他搞懂来呢?对吧?...: void main() { runApp(   Center( // 居中     child: Text( // 文字对象      'Hello World!'...// 使用真实设备 或 Material 时无需写明文本方向,均会自动处理。...我没有打错字,因为对代码的渲染结构进行了更改,所以需要使用 R) 什么?你居然不知道 R 键什么意思?那你现在还不立刻马上赶紧回去复习?!! 什么?你居然还分不清 r 和 R 的区别?!!...你……走吧……我没有你这样的____! 哇!这怎么这么丑?谁家APP界面会长这样啊? 05 - 使用主题 少侠不要着急嘛,再说了“罗马都不是一天建成的”要打好基础循序渐进。

    1.5K10

    Flutter Dojo设计之道——骚气的闪屏动画是如何实现的

    创建静态布局 创建Tween,标记动画的起始值 给静态代码添加AnimatedBuilder,驱动动画 静态布局 这个布局没有什么太大难度,这个效果其实有很多实现方案,比如Center-Row的方式...相比来说,Center-Row的方式会比较直观,所以我这里准备使用Stack-Positioned的方式来进行演示。...不管使用哪种方案,需要注意的一点是,【Flutter】Text和【Dojo】Text是整体居中的,并不是分别居中,因为【Flutter】Text比【Dojo】Text要长,所以沿屏幕中线居中会很不协调。...,左边和右边,如果使用Center-Row的方式,由于两个Text并不在屏幕中线对齐,所以实际上是有个offset的,然后再通过Transform.translate来进行偏移。...对于文字,可以使用TextPainter来进行文本的测量。 Key。通过Key来获取RenderBox,从而获取Widget的Size。

    1.7K21

    【Flutter】StatelessWidget 组件 ( Container 组件 | BoxDecoration 组件 | Text 组件 | Icon 组件 )

    Widget 组件 , 其内部没有需要管理的状态 ; StatelessWidget 组件延伸出以下组件 : Container : 容器组件 ; Text : 文本组件 ; Icon : 图标组件...this.alignment 居中方式 , this.padding 边距 , Color color 颜色值 等参数 ; 详细的设置可以参考 Container 源码中的构造函数中的参数 , 阅读每个参数的文档注释...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置...中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 子组件居中方式, 居中放置

    2.6K01
    领券