自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

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