flutter开发
浩浩的代码花园
一线互联网公司Android开发工程师
展开
-
Flutter的布局顺序
Flutter布局的碎碎念原创 2023-01-10 15:17:02 · 913 阅读 · 0 评论 -
Flutter动画——从踩坑到上线
前言最近公司在做Flutter改版,在为期3个月左右的改造过程中,将双端整体从native迁移到了flutter平台并上线。从改版后的视觉效果来看,在本次改造中关键节点多次使用到了动画场景,其中,就包括本次的分享所分享的内容——奖励二级页入口动画。奖励二级页入口承载了2.0版本中骑手收入的动态展示触达,新奖励触达,并在业务过程中通过一系列复杂的动效来提升了该部分的用户体验。且兼具了奖励二级页入口的工作。鉴于网上大多讲解flutter的基础动画,对复杂动画和动画实现原理的分享和实现案例较少..原创 2021-10-04 23:23:34 · 735 阅读 · 0 评论 -
Flutter key
Flutter key分为Global key和LocalKeyLocalKey包涵Valuekey Objectkey UniquekeyGlobalkey全局唯一ValueKey局部唯一,例如:在同一个widget中的children中valuekey需要唯一 ,根据内部的==做对比ObjectKey对比是否是同一个object,也就是内存中的地址Uniquekey只和自己相等stateless不需要key...原创 2021-08-09 09:28:13 · 192 阅读 · 0 评论 -
Flutter Container的本质
Flutter Container的本质是一个多种widget的组合,像我们常用的padding、SizedBox、Align等等组件,都可以在Contaienr中找到替代他的对应标签。Container存在的意义就是能够让我们避免代码地狱。写过Flutter的人都知道,在一个布局层级比较深的widget中,如果采用多层嵌套的方式,往往会让代码看起来很臃肿,呈现一个金字塔形。但是如果把这些如padding、SizedBox的组件换成container属性标签的话,则会让代码看起来工整许多。这一点原创 2021-08-04 00:06:09 · 138 阅读 · 0 评论 -
Flutter中的弹性组件与非弹性组件
Flutter中的组件可分为两类:弹性组件与非弹性组件Flutter中的布局步骤分两步:1.为非弹性组件分配空间2.为弹性组件分配空间弹性组件:Flexible、Expanded,非弹性组件:尺寸固定组件,如:SizedBox在使用Column或者Row时,他会给子组件施加一个主轴方向的松约束,并计算非弹性组件所占用的空间,之后将剩余空间分配给弹性组件...原创 2021-08-03 00:02:12 · 241 阅读 · 0 评论 -
Flutter布局中的松约束、紧约束
BoxConstraint.loosen:松约束原创 2021-08-02 09:29:39 · 1909 阅读 · 0 评论 -
如何理解Flutter的“向下传递约束,向上传递尺寸”
首先要说的是,flutter对组件的遍历规则是深度优先的。以此app为例,runapp向下传递的约束是宽大于等于414,小于等于414,高大于等于896,小于等于896,所以他下级的container拿到的约束就是这个值,但是container的尺寸约束并不在这个范围内,所以他向下传递的约束还是414,896,当container的下级center拿到约束时,由于center的特性,可以将子组件放置在其内部的中心位置,所以它向下传递的尺寸是0~414和0~896,当其内部的container设置尺...原创 2021-08-01 23:04:40 · 476 阅读 · 0 评论 -
Flutter中一些不常用但非常好用的组件
FittedBox:控制子组件完美的占满父控件空间SafeArea:异形屏适配利器,可以完美的避开异形屏的边角和iphone的下巴。由于flutter的特性:向上传递尺寸,向下传递约束。如果将safeArea放置过高,会将iphone头部的圆角避开,反而不美观LayoutBuilder:能够传递父布局传递的尺寸约束Orintationbuilder:传递横竖屏信息DefaultTextStyle:规定统一文本样式并向下传递IconTheme:defaultTextStyle的icon版.原创 2021-08-01 21:57:53 · 217 阅读 · 0 评论 -
如何在Flutter中准确地获取widget的宽高信息
使用WidgetsBinding.instance.addPostFramaCallback,他会在build完成后的第一帧进行回调,此时widget已经绘制完成原创 2021-07-04 20:37:32 · 994 阅读 · 2 评论 -
‘package:flutter/src/widgets/framework.dart‘: Failed assertion: line 1973 pos 12: ‘_elements.contain
flutter在开发动画的过程中经常会上报此错误,而且全屏爆红。解决方法:在widget的dispose方法中将controller释放原创 2021-06-14 14:58:47 · 2345 阅读 · 2 评论