- 博客(10)
- 收藏
- 关注
原创 flutter 首页制作和SharedPreference
本文介绍了Flutter项目开发中的两个关键点:首页布局实现和返回键退出处理。首页采用标准的AppBar-Body-BottomNavigationBar结构,通过BottomNavigationBar实现底部导航切换。针对Android设备的"再按一次退出"功能,详细讲解了从WillPopScope到PopScope的演变实现方案,包括时间间隔判断和系统退出操作。文章还涉及Material3主题与底部导航栏的兼容性问题,体现了实际开发中的权衡考量
2025-07-06 22:31:48
515
原创 flutter 整个编辑页面?
摘要:本文介绍了从详情页到编辑页的改造过程,主要涉及三点:1) 将性别输入从文本框改为单选控件,使用DropdownButtonFormField实现;2) 通过Provider管理数据对象,在接口调用时直接转换并更新UI;3) 提交逻辑采用直接调用上一页Provider刷新数据的创新方式。文中还提供了WidgetsBinding解决UI构建报错的方法,并展示了完整代码实现。这种跨页面直接操作数据的方式突破了传统Android开发的思维模式。
2025-07-01 21:36:52
373
原创 flutter 编辑一个简单的详情页
本文探讨了Flutter开发中StatelessWidget和StatefulWidget的选择问题,并通过一个联系人列表应用示例展示了实际用法。Widget选择方面:StatelessWidget适用于静态内容(如Text),StatefulWidget适合需要初始化和状态管理的组件。然后做了个详情的demo
2025-06-27 23:49:52
1090
原创 flutter ListView懒加载(下)——加载完之后的事情怎么处理
本文针对列表分页加载中的5个常见问题提出解决方案:1)使用isLoading状态控制加载,防止重复请求;2)新增finalPage状态标记最后一页,拦截无效请求。在Provider中设置isLoading=true标记加载状态,完成后重置为false;当到达最后一页时设置finalPage=true阻止后续请求。UI层通过判断这些状态来决定是否执行加载动作,从而解决了重复加载、无效请求等问题。代码示例展示了如何在Dart中实现这些状态管理,包括请求拦截逻辑和UI交互控制。
2025-06-26 11:45:12
538
原创 flutter ListView懒加载(上)——先搞大概的原理
摘要 本文介绍了Flutter中实现懒加载(分页加载)的实践方法。首先通过一个真实案例提醒开发者注意细节,如接口地址错误可能导致排查困难。文章解释了分页加载的原理,展示了一个典型的分页数据结构PageBean,包含records、total、size等字段。在代码实现部分,重点讲解了如何通过MainProvider管理数据列表和页码,其中getListPage方法负责分页请求:首次加载清空列表,后续请求追加数据。文章还提到下拉刷新和触底加载的业务逻辑,为移动端列表分页提供了完整解决方案。
2025-06-26 00:10:56
1145
原创 flutter 给列表添加下拉刷新、Toast和Dialog
本文介绍了如何将JSON数据转换为实体类并实现网络请求与UI展示。首先创建了ContactBean类,包含联系人字段和json转换方法。然后在MainProvider中修改getList()方法,将返回的JSON数据通过map遍历转换为ContactBean对象列表,并通知UI更新。最后在UI层使用ListView.builder展示联系人列表,通过provider.dataList[index]获取每个ContactBean对象的数据,在ListTile中显示姓名和电话号码。
2025-06-24 22:44:29
769
原创 flutter 让数据变成列表~
本文介绍了如何将JSON数据转换为实体类并实现网络请求与UI展示。首先创建了ContactBean类,包含联系人字段和json转换方法。然后在MainProvider中修改getList()方法,将返回的JSON数据通过map遍历转换为ContactBean对象列表,并通知UI更新。最后在UI层使用ListView.builder展示联系人列表,通过provider.dataList[index]获取每个ContactBean对象的数据,在ListTile中显示姓名和电话号码。
2025-06-24 22:43:31
415
原创 flutter dio的简单使用以及简单封装
到这里就可以运行一下,理想效果是:点击一下请求数据按钮,调用provider的getHello方法,然后请求一个demo接口,返回一个hello字符,通过notifyListeners()更新从而显示到页面的Text上。flutter再简单dio再好用,也禁不住这么个造法啊~做安卓开发的你每次请求都new一个Retrofit或者OkHttp你试试,保证敲你狗头!这里还是StatelessWidget,状态我暂时是打算全扔到provider里去管理,所以现在莫慌,接下来整provider。
2025-06-24 22:42:34
421
原创 flutter provider 最简单demo
本文展示了Flutter中使用Provider进行状态管理的实现方法。首先定义了一个CounterProvider类管理计数器状态,包含increment方法和notifyListeners通知机制。然后演示了如何在main.dart中使用ChangeNotifierProvider注册并提供状态。接着扩展示例增加了ThemeProvider来管理主题切换功能,展示了使用MultiProvider同时注册多个状态管理类的方法。通过这两个示例,说明了Provider的基本用法
2025-06-24 22:41:27
240
原创 Ubuntu24.04 + python-can实践记录
Ubuntu24.04(在Ubuntu和xubuntu上都可)canable v2.0(slcan固件,支持canfd)(玄学但有用,不进行以上操作可能会导致没有数据输出)安装pip和python-venv。这样python脚本就好跑了。安装can-utils。一个j1900小主机。
2024-09-23 17:52:35
720
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅