08 2020 档案

摘要:首先要引用event_bus.dart文件 初始化EventBus全局对象 生成一个event类,也可以用父类event来传递 在需要监听总线的页面添加监视器,类型是StreamSubscription,可以指定监听的event类型,不符合的event不会被监听到 发送事件可以用EventBus.f 阅读全文
posted @ 2020-08-23 00:39 NeoZy 阅读(744) 评论(0) 推荐(0)
摘要:column和row的children属性可以使用匿名函数来添加。可以省去大量重复代码: Column( mainAxisAlignment: MainAxisAlignment.center, children: (){ var p = List<Widget>(); for(int i=0; i 阅读全文
posted @ 2020-08-23 00:18 NeoZy 阅读(273) 评论(0) 推荐(0)
摘要:今天研究了一下git的rebase rebase中文“变基” ,改变基础(挂载点)的意思 最基本的rebase xxx分支: 目前有两个分支:master主分支和newbranch分支。现在位于newbranch上面,log图: 运行:git rebase master 可以看到,该rebase命令 阅读全文
posted @ 2020-08-20 11:53 NeoZy 阅读(413) 评论(0) 推荐(0)
摘要:flutter三大金刚:widget/Element/RenderObject 一个完整的idget工作流程: 1.widget被加载时,创建出widget对应的element对象 2.element通过rederobject实现绘制(实际看到的是renderobject绘制的画面) ⚠️:flut 阅读全文
posted @ 2020-08-20 10:53 NeoZy 阅读(268) 评论(0) 推荐(0)
摘要:futureBuilder和StreamSBuilder可以用来异步更新UI,比如我们需要请求一个server的数据,可以使用这两者来实现。 当然用StatefulWidget肯定也可以做,但这两个组件使得代码量更少,更精简。 futureBuilder源码: class FutureBuilder 阅读全文
posted @ 2020-08-18 17:55 NeoZy 阅读(535) 评论(0) 推荐(0)
摘要:Notification源码: abstract class Notification { /// Abstract const constructor. This constructor enables subclasses to provide /// const constructors so 阅读全文
posted @ 2020-08-18 12:24 NeoZy 阅读(256) 评论(0) 推荐(0)
摘要:下面代码有三个button,内容都是一样的,只不过包装方式不同。 第一个是没有包装的,第二个用Builder包了一层,第三个封装成了StatelessWidget。 运行一下,第一个button会报如下错误: 是说调用的Scaffod.of(context)找不到Scaffold。 import ' 阅读全文
posted @ 2020-08-17 00:08 NeoZy 阅读(1338) 评论(0) 推荐(0)
摘要:class _Drag extends StatefulWidget { @override _DragState createState() => new _DragState(); } class _DragState extends State<_Drag> with SingleTicker 阅读全文
posted @ 2020-08-15 23:10 NeoZy 阅读(1430) 评论(0) 推荐(0)
摘要:absorbPointer开启absorbing:本身可以接收点击事件,但不会把事件传递给子组件。 ignorePointer开启ignoring:本身和子组件都不能接收点击事件。 import 'package:flutter/material.dart'; import 'package:flu 阅读全文
posted @ 2020-08-14 12:01 NeoZy 阅读(2307) 评论(0) 推荐(0)
摘要:视频:https://www.youtube.com/watch?v=Zbm3hjPjQMk 可以通过继承InheritedWidget来使得当前widget的变化可被子widget感知;而且子Widget可以直接调用该Widget的某些数据,而如果不用InheritedWidget,就需要在从顶层 阅读全文
posted @ 2020-08-13 16:38 NeoZy 阅读(208) 评论(0) 推荐(0)
摘要:mixin是混入类, 一般在c++中利用abstract类来继承接口,但如果A类已经继承了某个abstract类,但还需要加另一个类里的方法怎么办? dart中可以利用with 关键字混入其它类的方法直接使用/对其进行覆写后再使用 例子,这个类继承了BDLifecycleState,并且混入了BDN 阅读全文
posted @ 2020-08-13 16:05 NeoZy 阅读(369) 评论(0) 推荐(0)
摘要:神秘代码:https://learngitbranching.js.org/?locale=zh_CN 流程图: 显然,git pull就相当于git fetch 再 merge到本地分支。 像我们平时工程用的source tree里面各按键对应的命令: 提交:commit 拉取:pull 推送:p 阅读全文
posted @ 2020-08-10 17:21 NeoZy 阅读(150) 评论(0) 推荐(0)
摘要:工程中经常会用到button的onTap或者onPressed方法,传进去的一般都是函数名字,比如:onTap: f, f可能的定义为:void f(int x,int y){//xxxxxx;} 按照之前写c++的经验,传递函数应该是用函数指针方法传递的,细节有点忘了,但参数/返回值都是一定指定 阅读全文
posted @ 2020-08-09 17:41 NeoZy 阅读(4184) 评论(0) 推荐(0)
摘要:首先得明白下面2点: 全局变量的特点:常驻内存,污染全局变量 局部变量的特点:会被垃圾回收机制回收,不会污染作用域… // 闭包.dart void main(){ myClosure(){ var a = 0; // a是一个局部变量.函数执行完毕后将被清理 return (){ a++; pri 阅读全文
posted @ 2020-08-09 16:52 NeoZy 阅读(310) 评论(0) 推荐(0)
摘要:RT 阅读全文
posted @ 2020-08-09 16:39 NeoZy 阅读(609) 评论(0) 推荐(0)
摘要:转载于https://www.jianshu.com/p/6346770649cc Switch 是一个切换按钮组件,通常用于设置的选项里。Switch 的原点颜色,横条颜色都可以设置,此外原点可以以图片形式显示。 new Switch( value: this.check, activeColor 阅读全文
posted @ 2020-08-07 01:48 NeoZy 阅读(1484) 评论(0) 推荐(0)
摘要:限制尺寸 1.constrainedbox(constrains :一个boxconstrains,child) 其中boxconstraints的属性有minwidth/minheight/maxwidth/maxheight等 2.sizedbox(width, height, child) 阅读全文
posted @ 2020-08-07 01:00 NeoZy 阅读(167) 评论(0) 推荐(0)
摘要:这个方法可以从屏幕下方弹出一个对话框。 例子: showModalBottomSheet( context: context, isScrollControlled:false, backgroundColor: Colors.white, shape: RoundedRectangleBorder 阅读全文
posted @ 2020-08-06 22:01 NeoZy 阅读(1412) 评论(0) 推荐(0)
摘要:一般会用到的dialog就是下面的showDialog函数。 使用方式一般就是:showDialog( 一个context,一个 builder), Future<T> showDialog<T>({ @required BuildContext context, bool barrierDismi 阅读全文
posted @ 2020-08-06 21:14 NeoZy 阅读(786) 评论(0) 推荐(0)
摘要:入职两周,写的第一个需求就是做几个简单的页面以及一些参数的传递,难度是不难的。但代码被同学们吐槽太长 太臃肿,比如下面这个样子: 几个页面一共写了1000多行,严格按照缩进来的(之前写c++写惯了,不缩进浑身难受) 然后模仿工程里别的同学写的代码,自己写了一个简单的测试页面。套路就是在build函数 阅读全文
posted @ 2020-08-06 20:36 NeoZy 阅读(533) 评论(0) 推荐(0)
摘要:1.在Flutter中,大多数东西都是widget(后同“组件”或“部件”),包括对齐(alignment)、填充(padding)和布局(layout)等,它们都是以widget的形式提供。 2. Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build( 阅读全文
posted @ 2020-08-06 18:27 NeoZy 阅读(171) 评论(0) 推荐(0)
摘要:import几种方式: import 'package:flutter/material.dart'; 这种package后不是跟工程名字的,表示自定义的dart文件import 'package:xxx/xxx.dart'; 引入Pub仓库pub.dev(或者pub.flutter-io.cn)中 阅读全文
posted @ 2020-08-06 17:25 NeoZy 阅读(1176) 评论(0) 推荐(0)
摘要:1. dart中is用来判断数据类型:int a=1; assert(a is num);//无报错 所以只要是is后面的类型的子类就行 然后相反的不是xx类型是用is!来判断,比如: int a=1; assert(a is! double); //无报错 as则是先判断是不是后面类型的子类,如果 阅读全文
posted @ 2020-08-06 01:45 NeoZy 阅读(201) 评论(0) 推荐(0)