
Flutter
brycegao321
Android/iOS/后台/H5全栈
展开
-
Flutter生命周期
Flutter跟安卓的Activity、iOS的ViewController一样拥有自己的生命周期, Flutter中一切都是Widget,渲染方式有点像H5的DOM树。 先看生命周期图: Flutter生命周期可以分为3个阶段: 1、实例化组件并添加到树, 即Navigator.push; 2、状态变化,即打开新的widget或者依赖的上级widget...原创 2019-01-21 20:06:15 · 7572 阅读 · 4 评论 -
理解Future执行时序原理
在Flutter开发中,一般使用Future、Stream、async/wait使用异步操作。 Future类用于异步任务、Stream类主要用文件IO, 而async/wait是关键字。 官方介绍:Dart消息循环 https://webdev.dartlang.org/articles/performance/event-loop 打开future.dart可以...原创 2019-01-31 14:42:50 · 2434 阅读 · 0 评论 -
Dart事件总线
因为Flutter不支持反射, 所以无法实现像EventBus那样通过注解添加观察者并反射执行对应函数。 在Flutter开发中, 可以通过单例模式和观察者模式实现事件总线, 参考Flutter事件分发原理支持发同步、异步消息。 暂时不支持黏性事件, 后续有需要的话再完善, 把EventBus.java翻译成Dart就成了。 DashPad不支持json,示例代码就没做json序...原创 2019-01-29 11:18:58 · 1021 阅读 · 0 评论 -
Flutter事件分发
大道同源, 其实Flutter的事件分发跟安卓类似。 下面就详细介绍下Flutter的事件分发体系: 1、 Flutter所有事件源头是 hooks.dart文件的_dispatchPointerDataPacket函数, 接收屏幕的点击、滑动等等各种事件。 类似于安卓的ViewRootImpl.java接收native层的数据。 2、gestures/binding.dart中的Ges...原创 2019-02-12 11:24:18 · 2777 阅读 · 0 评论 -
Flutter开发Feed流笔记一
第一个知识点: 如何隐藏AppBar? 包一层宽高等于0的父容器就可以了。 return new Scaffold( appBar: PreferredSize( child: AppBar( ), preferredSize: Size(0, 0)), 第二个知识点: Column/Row容器里直接添加ListVi...原创 2019-03-17 17:53:27 · 747 阅读 · 0 评论 -
Flutter开发Feed流笔记二
仿照贝壳找房app看点页实现feed流功能。 UI使用了:tabbar+tabbarview+ListView http通讯:Dio json:json_serializable 下载刷新/加载更多:flutter_refresh 遇到问题: 1、 tabbarview在切换标签页后, 前一个标签页的状态会丢失。每次打开标签页都会重新创建widget树。 2、 tabbar不支持设置间距, 例如...原创 2019-03-24 09:37:38 · 719 阅读 · 0 评论