吴景华技术博客 记录、分享经验

常用元素

Container Container( alignment: Alignment.topLeft, //child的对齐方式,topLeft表示纵向靠上,横向靠左 width: 150, //指定宽度则以宽度显示,不指定则被内容撑开 height: 150, p

Administrator Published on 2025-06-13

冷门元素

AbsorbPointer 禁用元素及其所有的子元素的指针事件(如press tap hover等),将不再需要给每个子元素的事件回调都设为null(并且设为null后按纽的样式会变成disabled-_-) AbsorbPointer( absorbing: true, //为true则子元素

Administrator Published on 2025-06-13

just_audio

用于播放音频 安装 flutter pub add just_audio 修改pubspec.yaml flutter: assets: - assets/image/ #以前就有的,放图片的目录 - assets/sound/ #新增放音频的目录 使用 import 'pack

Administrator Published on 2025-06-13

利用GlobalKey调用子组件方法

子组件 class TrackNoWidget extends StatefulWidget { const TrackNoWidget({super.key}); @override State<TrackNoWidget> createState() => TrackNoWidge

Administrator Published on 2025-06-13

GetX

国际化、依赖注入、状态管理、路由导航(不再显式传入BuildContext,任意位置可导航)、网络请求库 首先 flutter pub add get #安装依赖 将MaterialApp换成GetMaterialApp,GetMaterialApp是GetX预先封装配置好的一个组件,Materia

Administrator Published on 2025-06-11

json序列化和反序列化

自行实现(笨办法) class LoginData{ final int code; final String msg; final List<DataItem> data; LoginData({required this.code, required this.msg, req

Administrator Published on 2025-06-10

Tabbar页面状态保持

tabbar页面之间切换时会卸载(清理所有状态),解决这个问题。 变量、页面滚动状态等都可以保存 class _Page1State extends State<Page1> with AutomaticKeepAliveClientMixin { @override bool get w

Administrator Published on 2025-06-10

页面中监听路由事件

RouteObserver+混合RouteAware,监听从其它页面pop回到当前、当前页面通过pop关闭、push到其它页面、push打开到当前页面。 目前仅用到了didPopNext,当从其它页面返回时重新加载部分数据(刷新数据) 仅在StatefulWidget(有状态组件)中可以混入Rout

Administrator Published on 2025-06-09

shared_preferences

本地存储 依赖:https://pub.dev/packages/shared_preferences 安装 flutter pub add shared_preferences 获取实例 var i = await SharedPreferences.getInstance()

Administrator Published on 2025-06-09

mobile_scanner

识别一维/二维码目前用了多个模块中最好用的,在安卓中内部使用的是MLKit的barcode scanning捆绑版本,APP体积增加约3~10M。 google官方提供了barcode scanner但是没有捆绑版本(必须有谷歌套件)。 MLKit官方网址:https://developers.go

Administrator Published on 2025-06-09
Previous Next