什么是GetX ?
GetX中文官方文档 pub地址
GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。 GetX 有3个基本原则: 性能: GetX 专注于性能和最小资源消耗。GetX 打包后的apk占用大小和运行时的内存占用与其他状态管理插件不相上下。如果你感兴趣,这里有一个性能测试。 效率: GetX 的语法非常简捷,并保持了极高的性能,能极大缩短你的开发时长。 结构: GetX 可以将界面、逻辑、依赖和路由完全解耦,用起来更清爽,逻辑更清晰,代码更容易维护。
将 GetX 添加到你的 pubspec.yaml 文件中。
在需要用到的文件中导入,它将被使用。
import 'package:get/get.dart';
01、
Snackbar介绍
如果想在应用程序中触发某些特定的事件后,需要弹出一则快捷消息,那么使用Snackbar则是最佳的选择。
我们可以通过Get.snackbar() 来显示 snackbar ,如下所示
Get.snackbar("Snackbar 标题", "欢迎使用Snackbar");
02、
Dialog 底层其实是对AlertDialog进行了封装, 一般用于二次确认的弹出框,比如当点击某个按钮提交资料时,需要用户二次确认,以防止误操作。
Get.defaultDialog(
title:'音乐原创',
onCancel: (){},
onConfirm: (){}
);
03、
BottomSheet 是底部弹出的一个组件,常用于单选、验证码二次校验弹窗等,GetX的BottomSheet底部弹出是自定义通过路由push的方法实现底部弹窗的一个效果。
我们可以通过GetX很轻松的调用bottomSheet(),而且无需传入context,
Get.bottomSheet(RecommendPage());
04
GetX 为我们封装了 Navigation ,无需 context 可进行跳转,使用 GetX 进行路由跳转非常的简单,
只需要调用 Get.to() 即可进行路由跳转,
Get.to(Home());
// Get.to()实现普通路由跳转
Get.to(constDialogDemo());
//Get.toNamed()跳转到命名路由Get.toNamed("/dialog");
//返回到上一级页面Get.back();
// 返回到根Get.offAll(Tabs(index:4));
// 进入下一个页面,但没有返回上一个页面的选项(用于闪屏页,登录页面等)。Get.off(constGirdViewPager());
Getx 路由跳转传值以及接受数据
//传值
Get.toNamed("/shop",arguments:{"id":20});
//接受传值
print(Get.arguments);
05、Getx 状态管理
var count = 0.obs;
实际应用:监听自定义类数据的变化
Obx(() => Text( "count的值为: $count"),)),
06、
GetUtils是getx为我们提供一些常用的工具类库,包括值是否为空、是否是数字、是否是视频、图片、音频、PPT、Word、APK、邮箱、手机号码、日期、MD5、SHA1等等。
if (GetUtils.isEmail(textFieldController.text)) {'正确' } else {'错误'}