首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Flutter 最佳实践
SoaringHeart
创建于2023-10-21
订阅专栏
工作中发现的 一些 Flutter 最佳实践
等 82 人订阅
共41篇文章
创建于2023-10-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Flutter进阶:Comparable协议扩展
一、需求来源 平时遇到使用 num 的 clamp 的函数的时候就感觉特别好用,就想扩展到任何类型。但是一直没有思路,直到昨天基于 Comparable 重载运算符的时候突然灵光一闪,这不是我一直思而
Flutter组件封装:网络数据选择器 - NPickRequestListBox
一、需求来源 会遇到通过底部弹窗选择网络数据的需求,每次从头实现费时费力还不好维护,就想实现一种适用于任意接口的底部弹窗数据选择器。最终实现为 NPickRequestListBox 组件;将模型抽象
Flutter 进阶/最佳实践:自定义 Flutter 路由堆栈监听 route_stack_manager
一、需求来源 项目中需要判断路由堆栈是否包含哪个页面,如果包含就退回到此页面,如果没有就创建跳转。就是如此简单的需求困扰了半年多时间,今天看项目代码时偶然发现一种可能得实现方式,经过测试,完美解决此问
Flutter 重构:NFileUploadBox组件重构
一、需求来源 NFileUploadBox 实现功能之后要同步支持到多个app,但是多个app的设计风格差异很大,必须将样式可以二次自定义;于是就有此篇文章,思路是通过基类实现功能,重写父类方法实现样
Flutter 封装:基于 file_picker 的上传组件 NFileUploadBox
一、需求来源 最近遇到上传文档附件的需求,基于 file_picker 显示上传百分比,支持失败重连,支持失败删除;每个文档上传成功之后都会进行 url 回调。 支持功能: 去重,如果已经上传文档,二
Flutter封装:二分屏组件 NSplitView 封装
一、思路来源 最近需要一个类似 macOS 的 NSSplitView 组件。于是就简单实现了一个, 核心思路是约束最大尺寸减去分割组价的尺寸让两边✖️显示百分比实现。同时支持水平和垂直方向; 二、示
Flutter 研究:基于 lerp 的线性过渡
一、基础概念 在 Flutter 中,lerp 是 'linear interpolation' 的缩写,中文通常称为线性插值。线性插值是用于在两个值之间进行平滑过渡的一种方法。它在动画、颜色过渡、尺
Flutter组件封装:audio/音频播放组件
一、需求来源 项目开发中遇到了音频链接播放的场景,第三方的界面又不满足 UI 的需求,顺手封装一个组件 AudioPlayerBar(支持 m3p8 链接) 暂停状态 播放中状态 二、使用demo 三
Flutter 封装:文档上传组件 AssetUploadDocumentBox
一、需求来源 最近遇到上传文档附件的需求,基于 file_picker 显示上传百分比,支持失败重连,支持失败删除;每张图片上传成功之后都会进行 url 回调。 支持功能: 去重,如果已经上传文档,二
Flutter 封装:高德定位 location_state_mixin
一、需求来源 工作中有一些页面需要定位当前的用户信息(省市区街道),随手封装一个 LocationStateMixin 全局公共; 提前申请好 key和权限配置: LocationStateMixin
Flutter 进阶:多环境/域名切换组件 NOriginSheet
一、需求来源 工作中遇到某些偶现或者问题流程比较长的 bug,需要反复进行切换环境或者配合接口同学进行流程操作的场景,就特别耗费团队时间,就想在app端支持 api 环境切换的功能。再考虑到后端人员变
Flutter 效率:账号切换组件 NAccountSheet
一、需求来源 开发的一个项目目前有四种角色,每种角色进入的界面和各模块的权限都完全不同;测试阶段修改bug,每天都需要切换几十次,不胜其烦,随封装组件 NAccountSheet 提高效率。 核心思路
Flutter 进阶:请求脱壳函数封装
一、需求来源 项目中有许多每次请求之后都需要做请求结果判断处理,成功或者失败; 1、假设接口返回如下 json 结构: 2、实际使用问题 1)、通过工具生成所有模型;这样通常情况下都没有太大的问题,唯
Flutter 进阶:用 Function.apply 优雅的实现函数防抖 debounce
一、需求来源 项目中遇到问题,当在极短的时间内多次点击某个按钮时,会造成一些异常情况: 多次请求、多次进入等问题。常见的处理方法: 加 loading,缺点是麻烦且动不动小菊花体验不好; 用 防抖函数
Flutter进阶: 最佳实践刷新列表组件化 NRefreshView
项目中有很多很多的列表,一直在研究如何组件化列表,但是按照最初的想法实现后发现有这样或那样的缺点。最近灵光一闪,在原先基础上做了减法和扩展,基本能满足大部分的开发场景,分享给大家。
Flutter 进阶:RichText/TextSpan 富文本终极版
一、需求来源 工作中经常遇到一些富文本的样式,每次写许多的 TextSpan 的不胜其烦;今天终于想到一种完美处理高亮文本样式和段落样式的办法,核心是通过 splitMapJoin 方法配合 RegE
Flutter 封装:输入框组件 NExpandTextfield
一、需求来源 开发时遇到一个需求: 从接口拉取到数据展示,根据情况(目前超过三行)显示展开折叠菜单; 展示之后可以编辑,编辑状态需要显示当前字符数; 编辑结束保存提交接口后再二次展示; 效果如下: 二
Flutter封装:最佳实践——Drawer/弹窗终极版
一、需求来源 一直在琢磨如何实现任意方向的弹窗,上周突然灵光一闪,实现了,分享给大家。 核心是通过传入参数 Alignment 来控制抽屉的进入和消失方向; 通过构造器构建弹窗内容,最终实现无限可能。
Flutter 封装:最佳实践 —— AppLifecycleState 状态监听封装
一、需求来源 项目中多页面需要同时监听 AppLifecycleState 根据状态实现不同的业务逻辑;尝试多种实现,使用起来比较麻烦,为了开发效率,随封装一个。代码不复杂,核心在于极简的封装方法。
Flutter 进阶:json 转 model 工具开发
一、需求来源 凡是用强类型语言进行开发工作的都免不了和模型打交道;就有一个不可或缺的需求:Json 字符串转成模型文件; 在做 iOS 原生开发时就基于 MacAPP 原生技术开发过自己的 swift
下一页