随笔分类 -  Flutter学习

摘要:第一步:配置依赖 虽然现在freezed已经更新到v3版本了,但是v3目前还是存在很多bug比如无法生成g文件,70多个issue大部分是v3迁移的问题。所以还是建议先不急着升级v3,freezed使用2.5.8,freezed_annotation使用2.4.4。 dependencies: fr 阅读全文
posted @ 2025-03-02 20:39 漫游者杰特 阅读(16) 评论(0) 推荐(0) 编辑
摘要:根组件配置 应用入口配置: 使用 GetMaterialApp 作为应用的根组件,它是 MaterialApp 的增强版本,提供了路由管理等额外功能。 初始路由设置: 通过 initialRoute 参数指定了应用启动时加载的初始页面为 Routes.homePage,这通常是一个字符串常量,定义在 阅读全文
posted @ 2025-03-02 13:07 漫游者杰特 阅读(24) 评论(0) 推荐(0) 编辑
摘要:插件地址,详细用法可以看插件里的example 插件地址:https://github.com/JettChen12/flutter_foldable_wrap 演示 简介 在flutter中,一般我们使用流式布局我们一个wrap套上就完事,wrap组件确实能解决一大部分布局需求。 但是,在产品开发 阅读全文
posted @ 2025-02-20 20:53 漫游者杰特 阅读(14) 评论(0) 推荐(0) 编辑
摘要:枚举类Enum 简单描述应用场景: 通过接口异步获取数据时,发起请求后,一般有三种状态 等待:LOADING 成功:SUCCESS 错误:ERROR enum getDataFromApi( LOADING,//等待 SUCCESS,//成功 ERROR //错误 ) 这样就可以获取接口数据的代码解 阅读全文
posted @ 2022-04-25 16:23 漫游者杰特 阅读(1517) 评论(0) 推荐(0) 编辑
摘要:Listener组件 对触摸,手势的监听。 本文是对下面链接文章的笔记总结: 详情请看:深入理解Flutter的Listener组件 Listener组件属性 const Listener({ Key key, this.onPointerDown, this.onPointerMove, this 阅读全文
posted @ 2022-04-25 15:21 漫游者杰特 阅读(644) 评论(0) 推荐(0) 编辑
摘要:单例模式 介绍 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 实现 普通实现 class Singleton { ///静态实例 static Singleton? _instance; /// 私有的命名构造函数,在此处初始化 Singleton._internal(); // 阅读全文
posted @ 2022-04-03 14:54 漫游者杰特 阅读(814) 评论(0) 推荐(0) 编辑
摘要:Get路由传值方法 跳转路由First --> Second 1:第一种方法 Second页面的的controller利用构造函数接收由First传过来的值,在binding注入时接收First页面传过来的值。 ///second_state ///定义要从First接收的变量,并在构造函数里初始化 阅读全文
posted @ 2022-03-27 15:04 漫游者杰特 阅读(786) 评论(0) 推荐(0) 编辑
摘要:可拖拽的流式布局 说明 本次实现的可拖拽的瀑布流布局,使用的是flutter_staggered_grid_view库,其他流式布局可详细这个库可以让gridview的item自由排列等等。 拖拽功能是使用的官方组件Draggable和DragTarget,详细代码可以看demo。 本文完整示例de 阅读全文
posted @ 2022-03-19 13:37 漫游者杰特 阅读(801) 评论(0) 推荐(0) 编辑
摘要:InheritedWidget&Notification 说明: InheritedWidget用来从上往下共享数据,通过context流通 Notification用来从下往上分发通知,通过context流通 完整示例demo InheritedWidget 定义一个类“A”继承Inherited 阅读全文
posted @ 2022-03-19 12:52 漫游者杰特 阅读(69) 评论(0) 推荐(0) 编辑
摘要:表单传值 说明: INFO页面通过路由到DETAIL页面,并把表单数据传过去。 通过map传值的方式代码阅读起来困难,而且难维护,写变量时容易出错。 通过传state的方法,代码看起来更加简洁可读。 STEP01 声明要接收的变量 ///DETAIL state class DetailState{ 阅读全文
posted @ 2022-03-16 19:58 漫游者杰特 阅读(96) 评论(0) 推荐(0) 编辑
摘要:Getx状态管理 接口 https://jdmall.itying.com/api/pcate 示例demo地址 状态管理小demo 结构图 示例图 Model class GoodsModel { List<Result>? result; GoodsModel({this.result}); G 阅读全文
posted @ 2022-03-13 12:01 漫游者杰特 阅读(316) 评论(0) 推荐(0) 编辑
摘要:Flutter Getx 1:模块介绍 states状态层 state只专注数据,需要使用数据,直接通过state获取。 定义变量只在state,定义可监听字符串alice。 import 'package:get/get.dart'; class HomeState{ ///定义可监听变量 RxS 阅读全文
posted @ 2022-03-13 00:10 漫游者杰特 阅读(706) 评论(0) 推荐(0) 编辑
摘要:fish_redux是怎么相互传值的 声明: 本文只说明fish_redux里的路由传参,以及两个页面是怎么得到对方传过来的参数的。 对于demo的计数加1并刷新页面的方法我在另一篇文章有写过,所以本文不会说。 路由传值demo可看这里示例demo 下文的CountPage = FirstPage, 阅读全文
posted @ 2022-03-06 14:14 漫游者杰特 阅读(137) 评论(0) 推荐(0) 编辑
摘要:fish_redux自定义tabController STEP01 page ///混入SingleTickerProviderMixin class TabbarPage extends Page<TabbarState, Map<String, dynamic>> with SingleTick 阅读全文
posted @ 2022-03-06 02:30 漫游者杰特 阅读(104) 评论(0) 推荐(0) 编辑
摘要:fish_redux是怎么分工合作的 01: 声明 本文章只是本小白的拙见,fish_redux对我来说还是比较难的框架,学习了几天,很多东西仍然一知半解。所以自己写点浅薄的东西记录一下自己的理解,如果有幸被大佬看到,出错的地方请不吝赐教。 02: 流程图 放上小呆呆大佬画的流程图,基本结构就是这样 阅读全文
posted @ 2022-03-06 02:27 漫游者杰特 阅读(73) 评论(0) 推荐(0) 编辑
摘要:Page连接Component Page连接他的component,通过连接器connector 每一个component都需要一个connector来进行和page的连接, Component和Component的连接同理,一模一样。 比如有一个Page : homepage,有一个List组件作 阅读全文
posted @ 2022-03-05 14:50 漫游者杰特 阅读(117) 评论(0) 推荐(0) 编辑
摘要:流式布局列表 SingleChildScrollView+Wrap STEP01 : 生成wrap布局 Widget getItem() { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget> 阅读全文
posted @ 2022-03-05 14:10 漫游者杰特 阅读(221) 评论(0) 推荐(0) 编辑
摘要:Provider状态管理 定义实体类 //goods_entity.dart class GoodsEntity { //定义实体类中的属性变量 late int _id; late String _name; late double _price; late String _url; late S 阅读全文
posted @ 2022-03-05 10:05 漫游者杰特 阅读(223) 评论(0) 推荐(0) 编辑
摘要:下拉加载更多 定义变量 //定义控制器 final ScrollController _scrollController = ScrollController(); //存储列表,远程数据的话应先处理数据 //此处Data类型是List<Map<String,Object>> List _list 阅读全文
posted @ 2022-03-05 09:37 漫游者杰特 阅读(475) 评论(0) 推荐(0) 编辑
摘要:官方自带的下拉刷新组件 定义刷新方法 //下拉刷新数据 Future<Null> _handleRefresh() async { await Future.delayed(Duration(seconds: 2)); setState(() { //此处获取数据 _getData() }); } 阅读全文
posted @ 2022-03-05 09:25 漫游者杰特 阅读(98) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示