自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 从 0 到 1 掌握 Flutter 状态管理:Provider 实战与原理剖析

创建,定义 Todo 实体类:dart/// Todo实体类,存储待办事项的核心信息// 待办ID,用于唯一标识// 待办内容// 是否完成// 构造函数,id默认生成唯一值,isCompleted默认未完成Todo({String?id,?// 复制方法,用于更新状态(不可变对象设计)String?id,String?}) {id: id??this.id,??代码解释。

2025-12-18 17:04:26 960

原创 从 0 到 1:Flutter 状态管理实战 —— 打造高性能待办清单应用

本文以 “待办清单” 为例,完整实现了 Flutter 的混合状态管理方案:本地状态用,全局状态用Provider,兼顾了开发效率和性能。状态分层:区分本地状态和全局状态,避免过度封装;不可变设计:数据模型采用不可变对象,减少状态突变;响应式更新:通过实现 UI 与状态的联动;性能优化:精准监听状态、懒加载列表、释放资源。Flutter 状态管理没有 “银弹”,选择适合业务场景的方案才是关键。

2025-12-18 16:56:44 774

原创 深度解析 Flutter 自定义组件封装:从基础封装到高性能复用

复用性:一套逻辑多处使用,比如电商 App 的商品卡片、社交 App 的评论项;可维护性:样式 / 逻辑集中管理,修改一处即可同步所有使用场景;可读性:业务页面只关注 “用什么”,而非 “怎么实现”,代码结构更清晰;扩展性:预留扩展接口,应对后续需求变更(如按钮新增加载状态);性能优化:封装时可针对性做缓存、懒加载等优化,避免重复计算。创建,标准化商品数据:dart/// 商品数据模型// 商品ID// 商品图片// 商品标题// 商品价格// 销量});过度封装。

2025-12-15 21:43:13 562

原创 解锁 Flutter 动画魔法:从基础到实战打造丝滑交互的卡片翻转动效

Flutter 动画的核心不是 “调 API”,而是理解 “动画值驱动 UI 变化” 的逻辑。本文从基础的补间动画入手,逐步扩展到组合动画和交互优化,最终实现了生产级别的 3D 卡片翻转动效。掌握Tween的核心协作关系;利用Transform实现基础的几何变换,结合曲线动画提升视觉体验;封装可复用的动画组件,兼顾性能和可维护性;注重交互细节(如点击反馈、阴影变化),让动画 “有灵魂”。希望这篇文章能帮你突破 Flutter 动画的入门瓶颈,从 “会用” 到 “活用”。

2025-12-15 21:41:14 872

原创 精通 Flutter 状态管理:从 Provider 到 Riverpod 的全维度实战

首先创建,定义不可变的 Todo 实体类(Flutter 中推荐使用不可变对象管理状态,避免意外的状态篡改):dart// 全局UUID生成器// Todo状态枚举// Todo实体类(不可变)// 唯一标识// 待办内容// 完成状态// 构造函数(强制必填参数,id可选,默认自动生成)Todo({String?id,?uuid.v4();// 复制方法(不可变对象更新状态的标准方式)String?id,String?

2025-12-14 22:03:19 1147

原创 深度解析 Flutter 路由管理:从原生路由到 AutoRoute 的优雅升级与性能优化

创建文件,集中配置所有路由:dart// 导入页面组件// 代码生成后自动生成的文件/// 根路由配置replaceInRouteName: 'Page,Route', // 自动替换路由名称中的Page/Route后缀routes: [// 首页路由(初始路由)initial: true, // 设置为初始路由),// 商品详情页路由(带参数)path: '/product-detail/:productId', // 路径参数(可选,支持深度链接)),// 购物车页路由。

2025-12-14 21:57:56 1115

原创 吃透 Flutter 路由:从基础跳转到底部导航 + 页面转场动画的全场景实战

创建,集中管理路由名称:dart// 路由名称常量(规范:页面名+Route)// 首页// 详情页// 底部导航页代码解析使用常量替代硬编码的字符串,避免拼写错误,且修改时只需改一处;路由名称以开头,符合 URL 的命名习惯,也便于后续深度链接扩展。// 可选:实现toJson/fromJson,便于序列化return {'id': id,默认的页面跳转动画是 “从右往左滑入”,实际开发中常需要自定义动画(比如淡入淡出、从下往上滑入)。

2025-12-13 21:51:11 826

原创 从 0 到 1 掌握 Flutter 状态管理:以 Riverpod 2.0 实现响应式 TodoList

首先创建,定义不可变的 Todo 实体类(Flutter 中推荐使用不可变对象管理状态,避免意外的状态篡改):dart// 全局UUID生成器// Todo状态枚举// Todo实体类(不可变)// 唯一标识// 待办内容// 完成状态// 构造函数(强制必填参数,id可选,默认自动生成)Todo({String?id,?uuid.v4();// 复制方法(不可变对象更新状态的标准方式)String?id,String?

2025-12-11 22:21:52 716

原创 从 0 到 1:Flutter 自定义高性能下拉刷新组件的实现与优化

首先定义枚举和状态管理类,清晰划分组件状态:dart/// 下拉刷新状态枚举idle, // 闲置状态pulling, // 下拉中refreshing, // 刷新中completed, // 刷新完成/// 下拉刷新配置类(统一管理可配置参数)// 触发刷新的最小下拉距离// 刷新指示器高度// 回弹动画时长// 刷新动画时长});dart// 子组件(通常是列表)// 刷新回调函数// 自定义配置// 自定义刷新指示器(支持外部定制UI)

2025-12-11 21:30:36 1064

原创 Flutter 列表性能优化实战:打造 60fps 丝滑滚动列表,告别卡顿与内存泄漏

dart/// 列表项数据基类(所有列表项数据需继承)/// 唯一标识(用于列表项复用)/// 列表项类型(用于多类型列表)/// 列表性能监控回调required int fps, // 帧率required int memoryUsage, // 内存占用(MB)required int buildCount, // 构建次数});/// 列表项缓存池(复用列表项Widget,减少重建)// 缓存池:key=itemType+itemId,value=Widget。

2025-12-10 21:44:47 799

原创 深度解析 Flutter 本地存储:从原理到实战打造安全可控的本地数据管理方案

创建,定义通用存储接口,隔离上层与底层实现:dart/// 本地存储抽象接口/// 初始化存储(如打开数据库、创建Box)/// 存储数据/// [key]:存储键/// [value]:存储值(支持基础类型、自定义对象)/// [isEncrypted]:是否加密存储(仅敏感数据)/// 获取数据/// [key]:存储键/// [defaultValue]:默认值(获取失败时返回)/// [isEncrypted]:是否解密读取Future<T?/// 删除指定键的数据。

2025-12-10 16:38:23 1027

原创 Flutter 表单开发全攻略:从基础验证到企业级注册表单实战

当用户在系统设置中切换深色模式时,应用需实时响应,Provider 已自动处理该逻辑,无需额外代码 —— 因为 MediaQuery.of(context).platformBrightness 会实时更新,isDarkMode 方法会动态返回最新状态。主题适配不仅是技术实现,更是用户体验的打磨 —— 一套优秀的主题体系能让应用在不同设备、不同场景下都保持一致的质感,而深色模式的完善支持,更是当下用户的核心需求之一。自定义组件需通过 Theme.of(context) 读取主题样式,而非硬编码颜色:​。

2025-12-09 11:36:41 793

原创 Flutter 鸿蒙生态适配实战:打造跨平台 GitCode 口袋搜索工具

针对鸿蒙设备特性优化网络请求、存储缓存,提升适配稳定性;采用响应式布局,兼容鸿蒙多设备屏幕;封装通用工具类,降低鸿蒙生态适配成本。支持仓库详情查看、跳转 GitCode 官网;适配鸿蒙手表等更多设备形态;集成鸿蒙原生能力(如推送、分享)。在开源鸿蒙跨平台生态中,Flutter 凭借强大的兼容性和开发效率,成为连接多端的重要桥梁。本文的实战案例可为开发者提供鸿蒙适配的完整思路,无论是工具类应用还是复杂业务应用,都可借鉴这套 “网络封装 + 状态管理 + 多端适配” 的架构模式。

2025-12-08 15:22:14 905

原创 吃透 Flutter 状态管理:从 Provider 到 Bloc 的全场景落地指南

状态模型需继承,通过通知状态变化:dart// 全局计数器模型(跨组件共享)// 私有状态// 对外暴露的状态(只读)// 状态修改方法(封装逻辑,对外隐藏细节)_count++;// 通知所有依赖该状态的组件重建_count--;_count = 0;状态私有化(_count),仅通过方法修改,避免外部随意篡改;所有状态修改后必须调用,否则组件无法感知变化;方法内可封装复杂逻辑(如数据校验、异步操作),保持 UI 层纯净。dart。

2025-12-07 23:27:35 792

原创 吃透 Flutter 动画开发:从基础补间到自定义粒子动画的全维度实战

自定义动画需要通过绘制逐帧变化的图形,适用于 “粒子效果、路径动画、动态图表” 等复杂场景,以下实现按钮点击时的烟花粒子动画。dart// 粒子模型// 粒子位置// 粒子速度// 粒子大小// 粒子颜色// 粒子生命周期(0.0~1.0)Particle({});// 更新粒子状态(每帧调用)// 位置 = 位置 + 速度 * 时间差// 速度衰减(模拟空气阻力)// 生命周期减少dart// 粒子画笔@override// 遍历绘制所有粒子。

2025-12-07 23:24:10 939

原创 吃透 Flutter 网络请求:从 Dio 封装到拦截器、缓存、重试的企业级实战

dart/// 网络请求方法枚举get,post,put,delete,/// 环境常量// 基础URL(区分开发/生产环境)// 当前环境使用的BaseUrl// 请求超时时间(秒)// 缓存有效期(分钟)本文从企业级开发角度,完成了 Flutter 网络请求的全链路封装 —— 从基础的 Dio 配置,到拦截器、缓存、重试机制的实现,再到业务层 API 的封装,最终落地到实际页面中。高内聚低耦合:底层逻辑与业务逻辑分离,便于维护和扩展;

2025-12-06 14:26:15 1035

原创 从 0 到 1 掌握 Flutter 状态管理:深入剖析 Provider+ChangeNotifier 实战

先定义商品实体类,包含核心属性:dart/// 商品模型类// 商品ID// 商品名称// 商品单价// 商品图片(示例用占位图)});是 Flutter 状态管理的 “黄金组合”,其核心思想是将状态与 UI 解耦,通过观察者模式实现响应式更新。本文通过购物车实战案例,从状态类封装、全局注入到 UI 联动,完整覆盖了实际开发中的核心场景。高效开发中小规模 Flutter 应用;理解状态管理的核心逻辑,为学习RiverpodBloc等进阶方案打下基础;

2025-12-04 22:12:05 880

原创 Flutter 网络请求全攻略:从原生 HttpClient 到 Dio 封装,打造企业级请求架构

使用实现个性化页面过渡效果:dart// 缩放进入动画context,transitionDuration: Duration(milliseconds: 500), // 动画时长// 缩放动画:从0.5倍缩放到1倍// 淡入动画:从透明到不透明// 组合动画},),核心 API 说明:构建目标页面组件:定义过渡动画,可组合等:动画持续时间:设置动画曲线,让过渡更自然用和@RoutePage注解标记路由配置和页面:dart。

2025-12-04 21:54:02 689

原创 Flutter 路由管理深度解析:从基础导航到模块化路由架构

使用实现个性化页面过渡效果:dart// 缩放进入动画context,transitionDuration: Duration(milliseconds: 500), // 动画时长// 缩放动画:从0.5倍缩放到1倍// 淡入动画:从透明到不透明// 组合动画},),核心 API 说明:构建目标页面组件:定义过渡动画,可组合等:动画持续时间:设置动画曲线,让过渡更自然用和@RoutePage注解标记路由配置和页面:dart。

2025-12-03 23:27:33 829

原创 Flutter 状态管理实战:从 Provider 到 Riverpod,解锁响应式 UI 新范式

首先创建购物车状态类,封装状态数据和业务逻辑:dart// 商品模型// 购物车状态管理类// 私有状态:用Map存储商品(id为key,value为商品和数量)// 公开getter:提供不可变的状态访问// 计算属性:购物车商品总数// 计算属性:购物车商品总价0.0,// 业务方法:添加商品到购物车// 商品已存在,数量+1.value++;} else {// 商品不存在,新增条目// 通知监听者:状态已变更// 业务方法:从购物车移除商品。

2025-12-03 23:08:13 906

原创 Flutter 从 0 到 1:30 分钟搞定跨平台 App,附完整代码 + 避坑指南

作为一名开发了 3 年原生 App 的程序员,我曾被 “一套需求写两套代码” 逼到崩溃:iOS 端刚调好适配,Android 端又出现兼容性问题;改一个按钮样式,要在 Xcode 和 Android Studio 里各改一次。直到接触 Flutter,才发现跨平台开发能这么丝滑 ——一套 Dart 代码,同时跑通 iOS、Android、Web、桌面端,热重载 1 秒看效果,UI 颜值还自带 “原生质感”。

2025-12-02 22:29:22 794

原创 Flutter 实战入门:一套代码搞定全平台,30 分钟写出高颜值 App

一、为什么 Flutter 能成为跨平台开发 "顶流"?这种"一次编写,处处运行"的能力,配合接近原生的性能表现,正是Flutter能在短短5年内从0发展到全球百万开发者的关键原因。根据2023年StackOverflow调查,Flutter已经成为最受欢迎的跨平台框架,使用率高达42%。

2025-12-02 22:17:01 1060

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除