Flutter开发技巧集锦
flutter中单例的写法
class AccountManager {
factory AccountManager() => _instance ??= AccountManager._();
/// 销毁单例
static void destroyInstance() => _instance = null;
}
flutter 页面路由
利用GetX框架来实现
get: ^4.6.5
CoinRankPage 为具体的页面实现
点击查看代码
abstract class Routes {
Routes._();
static const main = "/main";
///页面合集
static final routePage = [
GetPage(
name: coinRink,
page: () => const CoinRankPage(),
binding: CoinRankBinding(),
),
]
}
刷新和加载更多的实现
依赖框架
pull_to_refresh: ^2.0.0
头部刷新和底部加载更多widget封装
点击查看代码
import 'package:flutter/cupertino.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
/// 头部刷新控件
class RefreshHeader extends StatelessWidget {
const RefreshHeader({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const WaterDropHeader(
complete: Center(
child: Text("下拉刷新完成"),
),
);
}
}
/// 底部加载更多控件
class RefreshFooter extends StatelessWidget {
const RefreshFooter({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return CustomFooter(
builder: (context, mode) {
Widget body;
if (mode == LoadStatus.idle) {
body = const Text("上拉加载");
} else if (mode == LoadStatus.loading) {
body = const CupertinoActivityIndicator();
} else if (mode == LoadStatus.failed) {
body = const Text("加载失败!点击重试!");
} else if (mode == LoadStatus.canLoading) {
body = const Text("松手,加载更多!");
} else {
body = const Text("没有更多数据了!");
}
return Center(child: body);
},
);
}
}
Flutter开发技巧集锦的更多相关文章
- Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动
Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...
- Unity 游戏开发技巧集锦之创建透明的材质
Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...
- Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质
Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...
- Unity 游戏开发技巧集锦之材质的应用的创建反射材质
Unity 游戏开发技巧集锦之材质的应用的创建反射材质 Unity中材质的应用 游戏中,大多数材质的应用都离不开纹理,而纹理本身是图片.所以,在学习本章时,最好在电脑上安装一个可以编辑图片的功能强大的 ...
- Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果
Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果 使用忍者飞镖创建粒子效果 游戏中,诸如烟.火.水滴.落叶等粒子效果,都可以使用粒子系统(particle system)来实现.例如,<明 ...
- Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现的 ...
- VS Code开发技巧集锦
2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“MDCC 2016 移动开发者大会? 中国”(Mobile Developer Conference China)将在北京? ...
- VS Code开发技巧集锦【转】
转自:http://blog.csdn.net/tiantangyouzui/article/details/52163175 入门 自定义 扩展 文件/文件夹管理 编辑技巧 智能感应功能 代码片段 ...
- LoadRunner小技巧集锦
preftest 性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com) LoadRunner小技巧集锦 1.录制脚本中包含中文,出现乱码怎么办? 把录制选项中的Suppo ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
随机推荐
- 获取input[type="checkbox"]:checked 所在tr中特定元素
1.要求如下 2.html源码 <div class="btn"> <button type="button" onclick=" ...
- Mac下使用Docker快速布署FastGPT实现AI私有知识库
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理.模型调用等能力.同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景! 官网地址为:https: ...
- 火柴 基于everything的搜索软件 软件推荐 Ctrl+Ctrl 显示 tab转换 本机搜索和网络搜索
https://www.huochaipro.com/
- libwebsockets支持外部eventloop变更
早些年还在使用2.4+版本,现在最新版已经到4.1+,centos 7也使用3.+版本.对于使用外部eventloop相关的接口发生了大的变更.libev也应为早早对iouring支持,4+版本亲睐l ...
- 安装swagger过程及遇到问题
参考:欢迎点击原文:https://www.cnblogs.com/liconglong/p/11477401.html(主要) https://blog.csdn.net/liangjiabao55 ...
- C++ explicit 关键字简介
explicit 关键字修饰构造函数 防止类的初始化的时候进行隐式转换. class MyClass { string m_s; int m_a, m_b; public: MyClass(strin ...
- Miracast技术详解(四):Sink源码解析
目录 简介 Sink端源码 RTSP通讯 RTP通讯 播放阶段 MPEG2-TS解析 总结 简介 在<Android Studio导入Android 4.2.2的WiFi-Display系统源码 ...
- JavaScript知识总结 基础篇
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. new操作符的实现原理 new操作符的执行过程: (1)首先创建了一个新的空对象 (2)设置原型,将对象的原型设置为函数的 prot ...
- FPGA模块化设计
模块化设计出发点 在实际地操作中,总有一些基础的模块需要不断地寻找,往往需要消耗大量的时间.为了节约模块化设计的时间,提高设计的效率.在这里将一些基础的模块全部进行封装,利用网络的便捷性,实现快速地基 ...
- verilog之monitor
verilog之monitor 1.函数作用 monitor用于追踪变量的变化情况,这在实际使用中还是非常实用的.电路中的某个信号的变化可以通过monitor检测,不需要使用波形图去仔细查找.也便于准 ...