重建最小化原则 在调用 setState() 方法重建组件时,一定要最小化重建组件,没有变化的组件不要重建,看下面的Demo,这是一个设置页面, import 'package:flutter/material.dart...尽量不要将整个页面定义为 StatefulWidget 组件,因为一旦重建将重建此页面下所有的组件,尤其是 Switch 、Radio等组件状态的改变导致的重建,强烈建议对其进行封装。...以 AnimatedBuilder 为例,如果 builder 中构建的树中包含与动画无关的组件,将这些无关的组件当作 child 传递到 builder 中比直接在 builder 中构建更加有效。...将内容绘制到屏幕外缓冲区中可能会触发渲染目标切换,这在较早的GPU中特别慢。 另外虽然下面这些组件比较消耗性能,但并不是禁止大家使用,而是谨慎使用,如果有替代方案,考虑使用替代方法。...此类将其子级绘制到中间缓冲区中,然后将子级混合回到部分透明的场景中。 对于除0.0和1.0之外的不透明度值,此类相对昂贵,因为它需要将子级绘制到中间缓冲区中。对于值0.0,根本不绘制子级。
Paddiing 组件 在 html 中常见的布局标签都可以使用 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属 性,这个时候我们可以用 Padding 组件处理容器与子元素直接的间距...值类型EdgeInsets; 2. child:子组件。...值的类型CrossAxisAlignment; 3. children:组件子元素。...值的类型MainAxisAlignment; 2. crossAxisAlignment:次轴的组件对齐方式。值的类型CrossAxisAlignment; 3. children:组件子元素。...Expanded组件 Expanded 类似 Web 开发中的Flex布局,可以用在 Row 和 Column 布局中以定义该子组件所占的百分比。 常见属性: 1. flex 子组件占整个父组件比例。
♣ 题目部分 在Oracle中,如何获取timestamp类型的精度到纳秒级?...♣ 答案部分 秒(s)的单位都有毫秒(ms,millisecond),微秒(μs,microsecond),纳秒(ns,nanosecond),它们之间的换算单位为千进制,1s(秒)=10^3ms(毫秒...使用如下方式可以获取timestamp类型的精度到纳秒级: SYS@lhrdb> select to_char( localtimestamp,'yyyy-mm-dd hh24:mi:ss.ff3')
, color: Colors.blue), ) 默认情况下,圆形的直径等于 Container 窄边长度,相当于在矩形内绘制内切圆。...上面的情况明显不是我们希望看到了,希望背景是圆角矩形: Container( child: Text('老孟,专注分享Flutter技术及应用'), padding: EdgeInsets.symmetric...不,不会,子控件依然会受到父组件的约束,会扩展到父组件的尺寸,还有一个便捷的方式设置此方式: SizedBox.expand( child: Text('老孟,专注分享Flutter技术及应用'),...这2个看上去不是很好理解啊,什么叫尽可能大的填满剩余空间?什么时候填满?...width: 100, ), ], ) 这段代码是在最上面代码的基础上给中间的红色Container添加了Text子控件,此时红色Container
在 flutter 中使用字体需要两个步骤,首先是在 pubspec.yaml文件中声明,然后通过 textStyle 属性使用字体 flutter: fonts: - family:...0.0,// 禁用时的阴影 ... } 复制代码 通过设置以上属性即可设置阴影,elevation 这个属性会在很多组件中见到,都是用来控制阴影的 图片 在 Flutter 中,我们可以通过 Image...,使用 FadeInImage 之后会在图片的加载过程中显示一个占位符,在图片加载完成之后显示淡入 ICON 在 Flutter 中,可以直接使用 字体图标,它是将图标做成字体文件,然后通过指定不同的字符而现实不同的图片...而在 iconfont 中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标 在 Flutter 中,iconfont 和图片相比有如下优势 1,体积小 2,矢量的图标,放大不会影响清晰度...,而这些用户数据也不是他们的私有状态。
在这篇文章中,将带着大家一起学习在Flutter中图片开发以及应用场景中的必备技能以及一些经验技巧。...Image.network - 从网络URL中获取图片; new Image.file - 从本地文件中获取图片; new Image.memory - 用于从Uint8List获取图像; 在加载项目中的图片资源时...要加载项目中的静态图片,需要一些两步: 在 pubspec.yaml 文件中声明图片资源的路径; 使用AssetImage访问图片; 我们在《快速上手Flutter开发》的《项目结构、资源、依赖和本地化...在Flutter中我们可以借助Icon来加载icon: const Icon(this.icon//IconDate, { Key key, this.size,//大小 this.color...从Icon的构造方法可以很清楚的看出Icon构造方法需要一个默认的类型为IconData类型的参数,我们可以构造一个自己的IconData,也可以使用Flutter提供的material_fonts。
图标库 IconData 集成之后,使用方式与默认的 Icon 一致,直接获取 IconData 即可,对于 Icon 的颜色尺寸等其他绘制也不会有影响; List aceIconData =...Flutter 版本分支切换 Flutter 一直在稳定快速的更新迭代,而为了项目的稳定性,以及一些三方插件的应用,我们可能不会直接升级到最新版本,此时就需要切换分支,回退固定版本;和尚简单整理一下常用的几个命令行...flutter 目录中; ?...2. flutter channel X 在获取官方的各个分支之后,通过 flutter channel stable 用于切换到 stable 或其他分支; ?...---- ACE_ICON.ttf 案例源码 ---- 和尚此次仅是对于日常资源库和命令行的简单应用,熟能生巧,仅限于日常积累;如有错误,请多多指导! 来源:阿策小和尚
IconData 到底是什么 我们一直用的 Icons.xxx 就可以获取到对应的图标数据,你有么有想过,这玩意到底是什么东西。...其实不难看出,就是 Icons 类中的一个静态常量,类型为 IconData。 ?...IconData 类如下,它主要需要 int 型的 codePoint 对象和 String 型的 fontFamily。也就是说,需要从一个字体文件中通过 一个 int 值 获取对应的 '文字'。...---- 3.在 Flutter 中使用图标字体 首先需要 引入资源 并在 pubspec.yaml 中进行配置。注:文件位置和文件名无所谓,只要对应即可。 ?...---- 这样,就可以将下载的图标字体用在 Flutter 中了。当然,我们也可以仿照 Icons 源码那样,提供一个 TolyIcon.XXX 来获取 IconData 数据。 ?
Flutter七日游第七天:2018-12-22 天气:雨-阴 零、前言 最后一天了,今天将把前六天的零碎知识整合起来,以及未涉及的零碎知识 最后会附上源码,在github,我按天分包稍微整理了一下...,顺手Star一下吧 顺便提一下:Dart语法的相关测试在test包的base里(怕你们找不到) 与Android代码交互后感觉flutter还是蛮可以的,可惜没条件玩ios,不然岂不是可以通杀...两个对应.png ---- 2.Flutter中传参,调用Android含参方法:三对应 ?...我想应该是临时知识库吧,你解决的问题中获取的知识,经验会累积 可能长久不用知识库里的知识会漏掉,但印象有的,下一次再入栈,解决起来会更快 在的知识库里扎根的知识,那当你遇到时,就不是问题,直接弹栈,...这样想学习是不是也挺好玩的 ?
同样的,在flutter中也有流式布局,这个流式布局的名字叫做Flow。...事实上,在flutter中,Flow通常是和FlowDelegate一起使用的,FlowDelegate用来设置Flow子组件的大小和位置,通过使用FlowDelegate.paintChildre可以更加高效的进行子...今天我们来详细讲解flutter中flow的使用。...children很好理解了,它就是Flow中的子元素。 clipBehavior是一个Clip类型的变量,表示的是如何对widget进行裁剪。这里的默认值是none。...所以,当我们在Flow中定义好子widget之后,剩下的就是定义FlowDelegate来控制如何展示这些子widget。 FlowDelegate是一个抽象类,所以我们在使用的时候,需要继承它。
同样的,在flutter中也有流式布局,这个流式布局的名字叫做Flow。...事实上,在flutter中,Flow通常是和FlowDelegate一起使用的,FlowDelegate用来设置Flow子组件的大小和位置,通过使用FlowDelegate.paintChildre可以更加高效的进行子...今天我们来详细讲解flutter中flow的使用。...children很好理解了,它就是Flow中的子元素。clipBehavior是一个Clip类型的变量,表示的是如何对widget进行裁剪。这里的默认值是none。...所以,当我们在Flow中定义好子widget之后,剩下的就是定义FlowDelegate来控制如何展示这些子widget。FlowDelegate是一个抽象类,所以我们在使用的时候,需要继承它。
Flutter中Widget不仅可以表示UI元素,也可以布局元素、动画、装饰效果。 Widget不是最终显示在设备屏幕上的显示元素,而是一个描述显示元素的配置数据。...Flutter中真正代表屏幕显示元素的类是Element。 在大多数场景下,可以宽泛地认为Widget树就是指UI组件树或UI渲染树。...作为Flutter提供的入口Widget,MaterialApp有以下几个比较重要的参数: 1)title:String类型,表示在Android应用管理器的App上方显示的标题,对iOS设备不起作用。...开发中,Widget状态管理主要分为3种场景,即Widget自身状态管理、子Widget状态管理、父Widget和子Widget都存在的状态管理。...Icon组件常见属性: Android支持系统自带的图标,mipmap文件中存放的就是Icon类型的图标。
在前面的的文章中我们了解了Flutter中操作提示的用法,包括SnackBar、Dialog、以及BottomSheet,通过这些Widget我们可以很方便的实现对应用操作的提示。...在本篇文章中,我们会进一步对Flutter中常用的Widget进行介绍,有印象的童鞋可能还记得,在前面的文章中我们分享了Row和Colunm的用法,我们也使用这两个Widget完成了一些类似列表的操作,...好的吧,我们还是来看下这两个Widget的用法吧 ListView ---- ListView就是我们常见的列表组件,在平时的应用开发中十分的常见,无论你做的是什么类型的应用都会多多少少会用到ListView...在Flutter中有三种构建ListView的方式,刚才介绍的是最简单的一种,但是却不是最常用的,因为它仅仅适用于已知数量或者较少数量的Item的情况。...在itemBuilder中返回指定的的Listitem到ListItemWidget对象中,返回指定的ListItemWidget对象。
ThirdIconData(0xe62f); } class ThirdIconData extends IconData { // fontFamily 就是我们在 `pubspec.yaml`...导入第三方插件 其实 Flutter 中缺少很多功能,需要通过导入第三方插件来实现功能,插件就是 Flutter 和原生交互的桥梁,也就是说,要写 Flutter 的插件,需要写 Android 和 iOS...好在有很多现成的插件已经开源,可以通过 FlutterPackage 搜索到,例如等会我们会需要用到 FlutterToast 这个插件,用来做提醒用,在 FlutterPackage 中搜索到插件后,...做好准备工作,我们就可以撸一个登录界面了~ 撸一个登录界面 在开撸之前,我们先看下最终的效果图吧,虽然是比较常用的界面 ? ?...,和 TextFormField 的 validator的条件不符合,则会显示错误文字的提示 ?
在这里特别感谢我们共建组织的成员,完成了近20篇高质量的文章,如果您也希望加入我们,欢迎私信我,也可以到 老孟Flutter 网站:http://laomengit.com/plan/build_plan.html...Flow 流式小部件,同类型的有Wrap,Row等,Flow的特点是可以调整子组件的位置和大小,结合Matrix4绘制出各种酷炫的效果。...Flow({ Key key, @required FlowDelegate delegate, //继承FlowDelegate的管理类,来控制子组件的定位 List children: const [] //可放多个子组件 }) Flow仅有2个属性,children表示子控件,delegate是调整子组件的位置和大小,需要自定义。...IconData lastTapped = Icons.notifications; final ListIconData> menuItems = IconData>[ //菜单的
老孟导读:Flutter中布局组件有水平 / 垂直布局组件( Row 和 Column )、叠加布局组件( Stack 和 IndexedStack )、流式布局组件( Wrap )和 自定义布局组件(...明白了 主轴 和 交叉轴 概念,我们来看下 mainAxisAlignment 属性,此属性表示主轴方向的对齐方式,默认值为 start,表示从组件的开始处布局,此处的开始位置和 textDirection...: up :从底部开始,并垂直堆叠到顶部,对齐方式的 start 在底部,end 在顶部。...140, width: 140, color: Colors.yellow, ) ], ) 效果只有黄色(最后一个组件的颜色),并不是其他组件没有绘制,而是另外两个组件被黄色组件覆盖...IconData lastTapped = Icons.notifications; final ListIconData> menuItems = IconData>[ //菜单的
Paddiing 组件 在 html 中常见的布局标签都可以使用 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属 性,这个时候我们可以用 Padding 组件处理容器与子元素直接的间距...color = Colors.red; IconData icon; // 构造函数 IconContainer(this.icon,{this.color,this.size...Expanded组件 Expanded 类似 Web 开发中的Flex布局,可以用在 Row 和 Column 布局中以定义该子组件所占的百分比。...color = Colors.red; IconData icon; // 构造函数 IconContainer(this.icon,{this.color,this.size...color = Colors.red; IconData icon; // 构造函数 IconContainer(this.icon,{this.color,this.size
前期开发调试完全在 Android 端进行的情况下,第一次在 IOS 平台运行居然没有任何错误,并且还没出现UI兼容问题,相信对于经历过跨平台开发的猿们而言,这是多么的不可思议画面。...Dart 中 number 类型分为 int 和 double ,其中 java 中的 long 对应的也是 Dart 中的 int 类型。Dart 中没有 float 类型。 ...didChangeDependencies:在 initState 之后调用,此时可以获取其他 State 。 dispose :销毁,只会调用一次。 看到没,Flutter 其实就是这么简单!...类型 作用特点 Container 只有一个子 Widget。默认充满,包含了padding、margin、color、宽高、decoration 等配置。 Padding 只有一个子 Widget。...只能包含一个child:,支持配置 padding,margin,color,宽高,decoration(一般配置边框和阴影)等配置,在 Flutter 中,不是所有的控件都有 宽高、padding、margin
前期开发调试完全在 Android 端进行的情况下,第一次在 IOS 平台运行居然没有任何错误,并且还没出现UI兼容问题,相信对于经历过跨平台开发的猿们而言,这是多么的不可思议画面。...Dart 中 number 类型分为 int 和 double ,其中 java 中的 long 对应的也是 Dart 中的 int 类型。Dart 中没有 float 类型。 ...3、Flutter Widget 在 Flutter 中,一切的显示都是 Widget 。Widget 是一切的基础,作为响应式的渲染,属于 MVVM 的实现机制。...didChangeDependencies:在 initState 之后调用,此时可以获取其他 State 。 dispose :销毁,只会调用一次。 看到没,Flutter 其实就是这么简单!...只能包含一个child:,支持配置 padding,margin,color,宽高,decoration(一般配置边框和阴影)等配置,在 Flutter 中,不是所有的控件都有 宽高、padding、margin
其次它继承自DiagnosticableTree 下图可见Widget类在Flutter的框架层中是比较顶尖的类。 ? ?...你之后就会知道,Widget是Flutter界面的中心,可显示在页面上的一切,都和Widget相关。...---- 2.Widget的状态 2.1:Widget的状态概述 在Widget源码中明显指出了关于Widget状态的问题: /// Widgets themselves have no mutable...@required注解 3.非空的属性用assert断言 4.字段全是final类型 _CheckboxState中的build方法返回_CheckboxRenderObjectWidget对象...CheckBox具体绘制逻辑及状态改变,在_RenderCheckbox中实现 ---->[flutter/packages/flutter/lib/src/material/checkbox.dart
领取专属 10元无门槛券
手把手带您无忧上云