AbsorbPointer AbsorbPointer是一种禁止用户输入的控件,比如按钮的点击.输入框的输入.ListView的滚动等,你可能说将按钮的onPressed设置为null,一样也可以实现,是的,但AbsorbPointer可以提供多组件的统一控制,而不需要你单独为每一个组件设置. 用法如下: AbsorbPointer( child: Row( children: <Widget>[ RaisedButton(onPressed: (){},), RaisedButton(onP…
随意点开一个Widget,就会发现,可以传递一个参数Key.那这个Key到底是干啥子,有什么用呢? Flutter是受React启发的,所以Virtual Dom的diff算法也参考过来了(应该是略有修改),在diff的过程中如果节点有Key来比较的话,能够最大程度重用已有的节点(特别在列表的场景),除了这一点这个Key也用在很多其他的地方这个以后会总结一下.总之,这里我们可以知道key能够提高性能,所以每个Widget都会构建方法都会有一个key的参数可选,贯穿着整个框架. 通常情况下,我们不…
Flutter已经融入工程有一段时间了,由于团队人数较少,所以一直没有管和原有工程解依赖的问题,今天有时间正好把这个问题给搞了. 一.分析 首先,直接忽略上一篇<接入现有iOS项目>的所有步骤,直接创建flutter_module工程 flutter create flutter_module 注:flutter create flutter_module 和 flutter create -t module my_flutter区别在于带module参数,创建出来的工程会把辅助用的andro…
老孟导读:这是老孟翻译的付费文章,文章所有权归原作者所有. 欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过. 原文地址:https://medium.com/swlh/flutter-vs-react-native-vs-native-deep-performance-comparison-990b90c11433 让我们比较流行的移动开发工具在日常生活中的FPS,CPU,内存和GPU性能. 研究背后的故事 inVerita及其移动开发团队不断研究市场上提供的跨平台移动…
导语 | Flutter 框架是当下非常热门的跨端解决方案,能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面等多端开发.但仍然有很多产品.设计.甚至开发同学并不了解 Flutter,所以本文将深入浅出和大家聊聊 Flutter 的设计背景.技术特点,以及与其他同类技术之间的对比,希望与大家一同交流. 一.跨平台背景 1. 移动互联网的重要性 如上图所示,与2019年1月相比,全球使用互联网的人数已增加到45.4亿,增长了7%(2.98亿新用户). 到2020年1月,全球…
前言 系统自带的Dialog实际上就是Push了一个新页面,这样存在很多好处,但是也存在一些很难解决的问题 必须传BuildContext loading弹窗一般都封装在网络框架中,多传个context参数就很头疼:用fish_redux还好,effect层直接能拿到context,要是用bloc还得在view层把context传到bloc或者cubit里面... 无法穿透暗色背景,点击dialog后面的控件 这个是真头痛,想了很多办法都没在自带dialog上面解决 系统自带Dialog写成的L…
导语 | Flutter 框架是当下非常热门的跨端解决方案,能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面等多端开发.但仍然有很多产品.设计.甚至开发同学并不了解 Flutter,所以本文将深入浅出和大家聊聊 Flutter 的设计背景.技术特点,以及与其他同类技术之间的对比,希望与大家一同交流. 一.跨平台背景 1. 移动互联网的重要性 如上图所示,与2019年1月相比,全球使用互联网的人数已增加到45.4亿,增长了7%(2.98亿新用户). 到2020年1月,全球…
说道状态管理不得不说谷歌的亲自开发的两款状态管理Widget:第一个是provide,第二个是provider. 这两个的区别就是一个出来的早,现在好像没整么更新了.第二个是2019才出来的目前的版本是provider: ^3.2.0.上一个停留在了provide: ^1.0.2,基本上GG了.但是有时候项目中可能用到了provide.所以现在我想说的是这两个的基本用法,或者说是两者使用的对比吧(控制多个界面的状态,项目中可能多个界面的状态管理更多. 区别:provide 不会重建,provid…
Flutter:一个移动应用开发框架,它使用 Dart.C++.Skia 开发,对外提供了完全不依赖系统平台的 Widget 的能力,只通过自绘图形的方式工作,具有极其优秀的跨平台性.目前已经支持了 iOS.Android.Fuchsia. macOS 下,安卓模拟器的进程名为:sdkqemu-system-i386,可在任务管理器强行关闭. 如果提示:Please configure Android SDK,需要将 ANDROID_HOME 环境变量设置为相应的 SDK 安装目录 构建UI界面…
一,概述 移动应用中一个必不可少的环节就是与用户的交互,在Flutter中提供的手势检测为GestureDetector. Flutter中的手势系统分为二层: 第一层是触摸原事件(指针) PointerDownEvent:用户与屏幕接触产生了联系 PointerMoveEvent:手指已从屏幕上的一个位置移动到另一个位置 PointMoveEvent:指针停止接触屏幕 PointerUpEvent:用户已停止接触屏幕 PointerCanceEvent:此指针的输入不再指向此应用程序 第二层是…