Flutter
Flutter
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
醒不了的星期八
种一棵树最好的时间是十年前,其次就是现在
展开
-
Flutter: 学习指南
Flutter让跨平台更加高效。原创 2020-03-31 12:10:19 · 531 阅读 · 1 评论 -
Flutter:状态管理(6) --Provide
Flutter的状态管理方案有很多,比如著名的:Scoped Model Redux Bloc StatefulWidget Provide ......通过一个简单的例子,学习Provide的用法。【引入依赖不做介绍】1.写一个简单的UI:import 'package:flutter/material.dart';class CatPage extends ...原创 2019-10-18 21:42:12 · 340 阅读 · 0 评论 -
Flutter:状态管理(3) --Dart中的Stream
/** * 介绍Dart里面的Stream * 明白怎样去创建Stream、监听Stream准备发生的事件,比如得到Stream上面的数据要做的事情,出现错误的时候要做的事情。 * 创建一个StreamController去控制Stream,比如往stream上面添加数据。 * 然后学会使用StreamBuilder去根据某一个Stream去创建一个小部件,在Stream上面有数据以后...原创 2019-07-26 21:23:38 · 928 阅读 · 0 评论 -
Flutter:状态管理(4) --Dart#RxDart的介绍
一入Rx深似海.../** * RxDart:扩展了Dart里面的stream的功能 * Observable:相当于stream * 几种不同类型的Subject:相当于Stream里面的StreamController * 还得了解下RxDart提供的数据转换的方法 */Rx:Reactive Extensions。想象成加工处理数据的方法或工具,是响应式编程。常见的还有...原创 2019-07-26 22:40:29 · 1951 阅读 · 0 评论 -
Flutter:状态管理(5) --BLoC
应用的开发架构:BLoC其意思是业务逻辑组件,其实就是把业务需要的一些逻辑单独拿出来放在一个类里面。这种类就叫Bloc可以使用这种架构创建反应式的应用。这种架构是Google发出来的,其开源APP:万物起源。就用的是BLoc。1.BLoC: BusinessLogicComponent的缩写【业务逻辑组件】其实就是把业务需要的一些逻辑单独拿出来放在一个类里面。这种类就叫B...原创 2019-07-26 23:54:05 · 447 阅读 · 0 评论 -
AndroidStudio 3.5的离线下载的Flutter plugins不兼容
解决:【通过联网的Marketplace下载更好】这里说的是离线下载。对于上面的不兼容。需要Help->about查看到我这里的Build是191.xxxx.然后去jetbrains插件官网上去下载:https://plugins.jetbrains.com/plugin/9212-flutter下载到本地后然后plugins中选择本地安装即可...原创 2019-08-23 14:36:59 · 2731 阅读 · 4 评论 -
Flutter: Clip裁剪处理
对于组件的装饰产生视觉效果,可以使用Opacity(透明度处理)、DecoratedBox(装饰盒子)、RotatedBox(旋转盒子)等组件进行包裹child。但是其中,还有个组件Clip(裁剪处理).Clip的相关组件:ClipOval: 圆形裁剪 ClipRRect: 圆角矩形裁剪 ClipRect:矩形裁剪 ClipPath: 路径裁剪共同属性:属性名 类型...原创 2019-09-14 21:58:03 · 6387 阅读 · 2 评论 -
Flutter: Canvas 与Paint【画布与画笔】
画笔和画布是android中自定义的难点。Flutter中也是如此。通过这2个东西,构建出想要的view.利用Path还可以实现贝塞尔曲线。Canvas相关方法:方法 功能 drawLine() 画直线 drawCricle() 画圆 drawOval() 画椭圆 drawRect() 画矩形 drawPoints() 画点 ...原创 2019-09-14 22:43:03 · 3637 阅读 · 0 评论 -
Flutter: Flare x Flutter 2D矢量动画
官方网站:https://www.2dimensions.com/包括Nima和Flare。本文主要介绍Flare的简单使用.先创建一个账户:点击进去,进入画板页面。先调整一下画板的大小:创建一个简单的Logo动画:1.先添加一个圆:2.配置表盘:然后设置一个圆条矩形,制作一个简单的动画。然后我们就可以开始制作动画了:...原创 2019-09-21 18:33:43 · 1074 阅读 · 0 评论 -
Flutter: 状态管理(2) -- ScopedModel
/** * ScopedModel的使用: * 先去创建一个Model,在它里面去添加需要的那些数据. * 然后把ScopedModel小部件放在widget tree中的某个位置上,去设置一下它的model, * 这样在它下面的小部件都可以直接的访问到它设置的model的里面的东西。 * 小部件要使用model里面的数据,需要使用一个ScopedModelDescendant去包装...原创 2019-07-26 17:14:49 · 498 阅读 · 0 评论 -
Flutter:单元测试、Widget测试、集成测试
Flutter测试应用:如果APP较小,手动测试即可。当页面达到几十个的时候,一套完整的自动化测试将有助于确保应用在发布之前正确执行,同时快速修复错误。自动化测试方法: 单元测试: 测试单一功能、方法、类。例如,将测试单元的外部依赖模拟出来package:mockito。单元测试通常不会读取/写入磁盘、渲染到屏幕,也不会从运行测试的...原创 2019-07-30 22:34:47 · 4998 阅读 · 0 评论 -
Flutter:Flutter与Native混合开发
一个App的某个页面是Flutter开发的,或者某个模块等。即为Flutter与Native的混合开发。分为:Flutter与Android混合开发、Flutter与ios混合开发。混合开发的场景:作为独立页面进行加入、作为页面的一部分嵌入。Flutter集成步骤:1.创建Flutter module2.添加Flutter module依赖3.在Java/object-c种...原创 2019-07-12 21:46:31 · 1092 阅读 · 0 评论 -
Flutter: Flutter与Native通信
Flutter与Native的通信场景:1.Flutter Module < ---- init Params ----Native Module2.Flutter Module <---- ----Native Module3.Flutter Module ---- >Native Module4.Flutter Module < ---- >...原创 2019-07-12 23:36:33 · 589 阅读 · 0 评论 -
Flutter:导航返回拦截WillPopScope组件(功能性组件)
导航返回拦截WillPopScope: 为了避免用户误触返回按钮而导致APP退出,在很多App中都拦截了用户点击返回键的按钮, 当用户在某一个时间段内点击2次时,才会认为用户是要退出(而非触摸)。Flutter中可以通过WillPopScope来实现返回按钮的拦截。onWillPop是一个回调函数,当用户点击返回按钮的时候调用(包括导航返回按钮以及android物理返回按...原创 2019-06-29 21:24:24 · 4680 阅读 · 7 评论 -
Flutter核心原理(1):UI系统
UI系统:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的。UI系统:1.硬件绘图基本原理显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一...原创 2019-06-29 21:38:59 · 640 阅读 · 5 评论 -
Flutter核心原理(2):Element与BuildContext
其实,Element与BuildContext之间的关系我们是可以通过源码分析的。Element:最终的UI树其实是由一个个独立的Element节点构成。组件最终的Layout、渲染都是通过RenderObject来完成的。从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最...原创 2019-06-29 22:03:37 · 1878 阅读 · 0 评论 -
Flutter核心原理(3):RenderObject和RenderBox
每个Element都对应一个RenderObject,我们可以通过Element.renderObject来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。RenderObject就是渲染树中的一个对象,它拥有一个parent和一个parentData插槽(slot),所谓插槽,就是指预留的一...原创 2019-06-29 22:24:58 · 5139 阅读 · 0 评论 -
Flutter核心原理(4):Flutter运行机制-从启动到显示
Flutter的入口在"lib/main.dart"的main()函数中,它是Dart应用程序的起点。在Flutter应用中,main()函数如下:#runApp()方法:参数app是一个Widget,它是Flutter应用启动后要展示的第一个Widget。而WidgetsFlutterBinding正是绑定Widget 框架和Flutter engine的桥梁,定义如下:...原创 2019-06-29 22:40:04 · 2265 阅读 · 0 评论 -
Flutter:使用平台通道编写平台特定的代码
所谓“平台特定”或“特定平台”,平台指的就是原生Android或IOS,本文主要讲原生和Flutter之间如何通信、如何进行功能互调。Flutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。Flutter平台特定的API支持不依赖于代码生成,而是依赖于灵活的消息传递的方...原创 2019-06-29 23:33:38 · 778 阅读 · 0 评论 -
Flutter: 状态管理(1) -- InheritedWidget有效的传递数据给子部件
在本示例中,Widget Tree是这样的:小部件树: App | StateManagementDemo | CounterWrapper | CounterCounter Widget需要的数据来自CounterWrapper Widget。一层层的包装传递。但我们需要有效的传递数据,即不是通过一层层的包装,而是在需要的地方插入数据...原创 2019-07-25 11:29:19 · 814 阅读 · 0 评论 -
Flutter:文件操作
Flutter介绍:文件操作:Dart的IO库包含了文件读写的相关类,它属于Dart语法标准的一部分,所以通过Dart IO库,无论是Dart VM下的脚本还是Flutter,都是通过Dart IO库来操作文件的,不过和Dart VM相比,Flutter有一个重要差异是文件系统路径不同,这是因为Dart VM是运行在PC或服务器操作系统下,而Flutter是运行在移动操作系统中,他们的...原创 2019-04-02 15:04:57 · 5924 阅读 · 0 评论