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

你不可避免的 Flutter Routes

在 Flutter 里路由的切换也同等重要,相应的 Flutter 的导航器管理着应用程序的路由栈,将页面 push 到导航器中或 pop 出导航器,这一点上非常类似 react-dom-router...为此我们先定义一个 Stateless AVTextWidget ,它只是显示一个 new Page 的文本,并且是垂直居中的。..._push 方法,并且在 appBar 中添加一个稍微好看一些的按钮,我选择的是 Icons.account_balance ,在 onPressed 中调用我们已经定义的 _push 方法。..._push 方法中我们会使用到 Navigator 和 MaterialPageRoute ,当用户点击那个 icon 时我们会创建一个路由并将其 push 到导航管理器栈中。...不过,这样的路由看起来还非常的简陋,想象一下当我们使用 React 时路由的跳转可以很方便的利用命名来完成,在 Flutter 里,我们也可以完成这样的映射关系,只不过我们需要在 MaterialApp

76320

小荷才露尖尖角,和Flutter应用说你好

创建应用 通过AS创建一个新的Flutter工程,我们会得到一个默认的计数器应用示例 项目的dart代码主要在lib/main.dart中 class MyApp extends StatelessWidget...main函数中调用的runApp方法,它的功能是启动Flutter应用。runApp它接受一个Widget参数 怎么去理解这个Widget参数呢?...); } } MyApp类代表Flutter应用,它继承了StatelessWidget类,那么,它作为子类就是一个StatelessWidget类呗 那么简单来说,所有的Widget都分为两类...StatelessWidget StatefulWidget 其实就是React中的受控组件和非受控组件 一下就通透了是不 那么,如果类比Vue 对于Vue2...对新手来说,Flutter的样式控制应该更加容易理解 Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法 这个方法就是如何构建这个

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

    从零开始的Flutter之旅: StatelessWidget

    Rouse 读完需要 12 分钟 速读仅需 4 分钟 这次要展示的是什么是 Flutter 的 Widget,即小部件;以及如何在 Flutter 中使用 StatelessWidget,即无状态小部件...2 呈现原理 现在 StatelessWidget 的使用大家都会了,那它是如何调用的呢? 下面我们来看下它的呈现原理。...正如开头所说的将小部件作为 Flutter 应用构建的基础,在 Flutter 中我们将小部件的构建称作为 Widget Tree,即小部件树。...1void main() { 2 runApp(GithubApp()); 3} 在我们的 main 文件中,有一个 main 函数,其中调用了 runApp 方法,传入的是 GithubApp。...所以在 Flutter 中一直都是通过创建 Element,然后调用 build 方法来获取其后续的子 Widget,最终构建成我们所看到的程序。

    1.1K40

    学习Flutter之前,你先要了解这些

    中可以包含 StatefulWidget,而 StatefulWidget 中也可以包含 StatelessWidget。...2、Android中的四大组件还有与之对应的吗 除了页面之外,其他的肯定都没有,因为毕竟是跨端开发的框架,不是专门为 Android 而设计的,可能有些人要问了,那如果想实现 Android 中的一些特殊的功能岂不是做不了了.../icon.png ../2.0x/icon.png ../3.0x/icon.png 然后,你需要在 pubspec.yaml 中配置这些图片,这个文件相当于Android中的 gradle文件。...= "Welcome To Flutter"; 4} 5 6使用: 7new Text(Strings.welcomeMessage); 4、生命周期 在 Flutter 中,StatelessWidget...6、组件 在 Flutter 中,有很多组件,他们可以构建成页面,因为组件繁多,所以这里我就不一一介绍了,我会在接下来的博客中为大家一一介绍 Flutter 中各种组件的使用方法,也欢迎大家持续关注后续博客

    1.9K10

    原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!

    Flutter中的Widget是整个视图描述的基础,Flutter中的包括应用、视图、视图控制器、布局等概念,都建立在Widget之上,Flutter核心设计思想是一切皆Widget。...setState方法是Flutter以数据驱动视图更新的函数,会通知Flutter框架:我这儿有状态改变,赶紧给我刷新界面!...图计数器示例的代码流程示意图,把这实例的整个代码流程串起: MyApp为Flutter应用的运行实例,在main函数中调用runApp函数实现程序的入口。..._MyHomePageState通过调用build方法以相应数据配置完成包括导航栏、文本及按钮的页面视图的创建。 而当按钮被点击之后,其关联的控件函数_incrementCounter会触发调用。...在这个函数中,通过调用setState更新_counter属性同时,也通知Flutter框架其状态发生变化。

    49720

    Android Flutter:手把手教你如何进行Android 与 Flutter的相互通信

    在日常开发中,Android Native端与Flutter端通信交互的应用场景十分常用 今天,我将全面讲解Android Native端与Flutter端通信的交互的方式,旨在让你熟练掌握Android...: 创建MethodChannel实例(传入channel name) 注册需处理的对应Handler 定义要通知Flutter端调用的方法 接受Flutter端要调用的方法 public class...用于调用Flutter端方法,无返回值 // method为需调用的方法名 public void invokeMethod(String method, Object o) {...用于调用Flutter端方法,有返回值 // method为需调用的方法名、返回值在result内 public void invokeMethod(String method, Object...下面,我再用讲解一个较为基础的场景:在Android中显示Flutter界面 5.

    3.2K21

    【Flutter 组件】002-基础组件:文本与样式

    【Flutter 组件】002-基础组件:文本与样式 一、Text 1、概述 Text 用于显示简单样式文本,它包含一些控制文本显示样式的一些属性。.../ 文本样式 super.style, // 手势识别监听器 this.recognizer, MouseCursor?...在 Widget 树中,文本的样式默认是可以被继承的(子类文本类组件未指定具体样式时可以使用 Widget 树中父级设置的默认样式),因此,如果在 Widget 树的某一个节点处设置一个默认的文本样式,...在 Flutter 中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过TextStyle 属性使用字体。...一个包也可以只提供字体文件而不需要在 ·pubspec.yaml· 中声明。 这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。

    9500

    Flutter-从入门到项目 03: Flutter初体验

    ]; 由于 UI 真实的来源可能比实例 view 本身的存活周期更长,你可能还需要在 view 的构造函数中复制此配置 在声明式风格中,视图配置(如 Flutter 的 Widget )是不可变的,它只是轻量的...要改变 UI,widget 会在自身上触发重建(在 Flutter 中最常见的方法是在 StatefulWidgets 组件上调用 setState())并构造一个新的 Widget 子树 // Declarative...① flutter 文本组件体验// 导入系统包 : 作用类似 #import import 'package:flutter/material.dart'; // 程序运行的...世界里面 都是各种部件 // 这里我们简单使用一下 Center 来写一个 文本 runApp(Center( child: Text( '和谐学习,不急不躁', // 文本...② flutter 导航栏体验class KCBar extends StatelessWidget { @override Widget build(BuildContext context)

    1.1K10

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

    引言 在之间我已经介绍了关于Flutter的下载安装以及配置,还有开发工具Android Studio的配置,还不知道的同学可以看看我这篇博客——谷歌移动UI框架Flutter入门。...具体的代码我就不一一介绍了,可以先不用理解每一行代码的意思。其中的Text便是文本组件,只需将值写入括号,便可以在文本框中显示,然后是文本框的一些属性。接下来我们运行起来看一下。 ?...2.图片组件(Image) 接下来是图片组件,图片组件的作用无非就是显示图片,在Flutter中,Image有四种方式显示图片,我只介绍一种,就是显示网络图片,其它三种方式没有太大差别。...4.列表组件(GridView) 第二个列表组件,网格组件,该组件在如今的移动应用中也非常常见,最典型的便是系统相册。那么我们关心的是在Flutter中该如何去使用GridView呢?...布局 Flutter中基本的一些组件就介绍完了,但是光知道如何编写组件可远远不够,UI设计中的布局管理也尤为重要,那么,我们继续深入,了解一下Flutter中的布局。

    2K10

    Flutter这么火为什么不了解一下呢?(下)

    首先,识别更大的元素。在这里,四个元素在同一列中:一个图片,两行和一个文本块。 ? 接下来,图解每行。...第一行,我们称其Title Section,有3个子组件:一列文本区域,一个星型图标,及一个数字。第一列子组件包含2行文本。且第一列占有较大空间,因此需要将两行文本放在Expanded组件中。...为了让嵌套的代码看起来不那么混乱,我们将一些实现置于变量和函数中。 Step 2:实现Title Section 首先需要在Title Section左侧创建一列。...将第一行的文本组件放置于Container组件中以便添加Container内边据。第二个文本组件文字是灰色。 最后的2个组件包括一个红色星型图标和一个数字“41”的文本。...这行中3列均匀分布,并且文本和图标颜色是APP build()方法中设置的primary color。

    1.3K40

    Flutter Hello World

    其他人怎么翻译我不太清楚,但是我认为中文可以翻译为 “质感设计”。 (这么长记不住怎么办?!) 记不住没关系,这时候我们就要善用 VS Code 或其他编辑器工具的提示功能了。...这里还有调用了一个 runApp 的函数,这是什么东西?...02 - runApp runApp 是 flutter 的入口函数,所以如果要使用的话那就必须调用 runApp 才能启动 flutter 项目,不然的话就会报错了。...接下来我们继续往下看,代码中定义了一个叫 MyApp 的类。 这时候你以为我的标题要写 03 - MyApp ?...也不全对,我的理解应该是这样: Material 是设计规范(标准) Scaffold 是实现了设计规范的可视化支架(标准实现) Widgets 是 UI 框架,但实现了更具体的一些的对象,例如文本框

    1.3K10

    带你高效入门 Flutter

    NanBox 读完需要 14 分钟 速读仅需8分钟 作者:NanBox 链接:https://juejin.im/post/5d235373e51d45108223fce8 本文面向 Flutter...前面讲跨平台方案的时候,可以发现别的方案基本都是用 JavaScript 作为开发语言的,但为什么 Flutter 不用?就因为 Dart 是谷歌自家的吗?这个问题先留着,我们后面会提到。...3.3 安装开发工具 理论上,任何文本编辑器都可以用来开发 Flutter 应用,但推荐的开发工具是 Android Studio、IntelliJ 以及 VS Code。...await 要在 async 的函数里面才能使用。 async 和 await 其实是一个语法糖,它最终也是转换成 Future 调用链的形式执行的。...我这里套用一下,在 Flutter 里,万物皆控件。 具体有哪些控件,我做了一下简单的分类。

    1.3K20

    【Flutter】362- 让前端开发者失业的技术,Flutter Web 初体验

    了解了 FLutter 之后,我来说一下今天的重头戏,Flutter for Web。要想知道 Flutter 为什么能在 web 上运行,得先来看看它的架构。 ?...安装完成之后,在 AVD (Android Virtual Device Manager) 中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。代表了正确安装。 ?...第一步:更改主应用内容,打开 lib/main.dart 文件,替换 class MyApp,首先是根组件 MyApp,它是一个类组件继承自无状态组件,是项目的主题配置,在 home 属性中调用了 Home...我觉得随着谷歌的持续优化,等到正式版发布之后,开发体验越来越好,Flutter 开发者会吃掉 H5 很大一部分份额。...目前 FLutter web 和 flutter 还是两个项目,编译环境也是分开的,需要在代码里面修改 Flutter 相关库的引用为 Flutter_web,组件还不能达到完全通用,这个谷歌承诺正在解决中

    2.2K20

    Widget中的state到底是什么

    那么,StatelessWidget存在的必要性在哪里呢?StatefulWidget是否是Flutter中的万金油?...比如,如果我们想要变更界面的某个文案,则需要找到具体的文本控件并调用它的控件方法命令,才能完成文字变更。...所以,我可以采用继承StatelessWidget的方式,来进行组件自定义。 第二个小例子是,我需要定义一个计数器按钮,用户每次点击按钮后,按钮颜色都会随之加深。...这里你可能会有疑问,如果我在一个默认不可变的场景下使用StatefulWidget,那么我肯定不会主动调用其setState方法啊,如果我不主动调用setState,那么不就不会影响StatefulWidget...Flutter中,Widget分为StatelessWidget和StatefulWidget。

    2.9K20

    Flutter 状态管理之GetX库

    创建后我们可以看到main.dart,这里是flutter启动文件,同时我启动了一个模拟器,用的雷电模拟器,至于为什么不用AS自带的模拟器,只能说懂的都懂,不懂的也劝你别去用。   ...运行好了,效果如下图所示:   当我们点击右下角的浮动按钮之后就会看到屏幕中的数字加1,关于这个里面的内容我在第一篇Flutter文章中就介绍过了,因此下面我们就不过多介绍代码,我们将main.dart...二、状态组件 首先我们写一个main函数,代码如下所示: void main() { } 然后我们在这个当前这个文件中再写一个MyApp类,如下图所示:   这里我继承了StatelessWidget...在实践中,以下是一些使用场景的示例: 使用 StatelessWidget:当小部件的外观和内容不会随时间而改变时,推荐使用 StatelessWidget,例如静态文本、图标等。...Get.put(HomeController()),得到控制器对象,然后在Text中通过控制器得到里面的值,同样可以调用里面的方法,这样我们就将业务和UI分离了。

    63401

    《Flutter》-- 4.Flutter组件基础

    Flutter中真正代表屏幕显示元素的类是Element。 在大多数场景下,可以宽泛地认为Widget树就是指UI组件树或UI渲染树。...作为Flutter提供的入口Widget,MaterialApp有以下几个比较重要的参数: 1)title:String类型,表示在Android应用管理器的App上方显示的标题,对iOS设备不起作用。...3)销毁阶段 deactivate():当组件的可见状态发生变化时,deactivate()会被调用,此时状态组件会被暂时从视图树中移除。...dispose():当状态组件需要被永久地从视图树中移除时,调用dispose()。调用dispose()后,组件会被销毁,在调用dispose()之前可以执行资源释放、移除监听、清理环境等工作。...Flutter默认包含了一套Materail Design的字体图标,使用前需要在pubspec.yaml文件中进行如下配置: ... flutter: Uses-material-design:

    12.6K30

    在 Flutter 移动应用程序中创建一个列表

    Flutter 是一个流行的开源工具包,它可用于构建跨平台的应用。在文章《用 Flutter 创建移动应用》中,我已经向大家展示了如何在 Linux 中安装 Flutter 并创建你的第一个应用。...而这篇文章,我将向你展示如何在你的应用中添加一个列表,点击每一个列表项可以打开一个新的界面。...调用 _MyHomePageState 中的 setState() 方法,可以重新构建用户界面: class _MyHomePageState extends State {...然后, 在类名 MyHomePage 右击,“Refactor > Rename...”将其重命名为 ItemsListPage: image.png Flutter 识别到你重命名了 StatefulWidget...当 Hero 检测到不同页面(MaterialPageRoute)中存在相同标签的 Hero 时,它会自动在这些不同的页面中应用过渡动画。 可以在安卓模拟器或物理设备上运行我们的应用来测试这个动画。

    3.1K10

    Dart中的const,Flutter,Dart,React Native

    部件示例 Flutter 应用程序的入口点是 main 函数。 要在屏幕上放置用户界面元素的部件,在 main()中调用 runApp()并将部件层次结构根部的部件作为参数传递。...当调用 setState()时,该函数可以设置任何内部状态,例如本例中的字符串。然后,将调用 build 方法,更新状态部件树。...还要注意使用 Directionality 部件为其子树中需要它的任何部件设置文本方向,例如 Text 部件。...这里的例子是从头构建代码,所以 Directionality 部件需要在部件层次结构的某处。 但是,使用 MaterialApp 窗口部件(例如使用默认应用程序模板)会隐式设置文本方向。...由于它也是一个部件,因此添加手势识别只需要将子部件封装在 GestureDetector 部件中。

    11900

    Flutter技术与实战(4)

    这三个方法分别会在什么场景下调用。 setState:我们最熟悉的方法之一。当状态数据发生变化时,我们总是通过调用这个方法告诉 Flutter:“我这儿的数据变啦,请使用更新后的数据重建 UI!”...在 Flutter 中,使用自定义字体同样需要在 pubspec.yaml 文件中提前声明。需要注意的是,字体实际上是字符图形的映射。...需要原生环境才能运行,但是有些资源我们需要在 Flutter 框架运行之前提前使用,比如要给应用添加图标,或是希望在等待 Flutter 框架启动时添加启动图,我们就需要在对应的原生工程中完成相应的配置...在此之前,我们还需要自定义一个手势识别器,让这个识别器在竞技场被 PK 失败时,能够再把自己重新添加回来,以便接下来还能继续去响应用户事件。...事实上,RawGestureDetector 的初始化函数所做的配置工作,就是定义不同手势识别器和其工厂类的映射关系。 这里,由于我们只需要处理点击事件,所以只配置一个识别器即可。

    10.9K20
    领券