Flutter代码锦囊---淘口令复制弹窗
对于淘系电商APP或其他类似的APP而言,获取剪贴板上的淘口令,再解析出具体的商品详情,是整个APP的核心业务操作,就像下面图片展示的这样。
下面我们就用Flutter实现这个功能,首先是前面一部分导入相关引用和常规页面布局代码,直接复制就好了。
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',home: MyHomePage(),);}
}class MyHomePage extends StatefulWidget {@override_MyHomePageState createState() => _MyHomePageState();
}
接下来就是主要代码,我们需要实现组件绑定观察者(WidgetsBindingObserver
)抽象类,使用组件(Widgets
)图层绑定注册的类的接口,我们会覆盖它的App生命周期状态发生改变(didChangeAppLifecycleState
)方法,其返回值类型是应用生命周期状态(AppLifecycleState
)类。
应用生命周期状态(AppLifecycleState
)类有几个常量,分别是:等待(AppLifecycleState.inactive
)、暂停(AppLifecycleState. paused
)和恢复(AppLifecycleState. resumed
)。
class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {@overridevoid initState() {// 在当前页面放一个观察者。WidgetsBinding.instance.addObserver(this);super.initState();}@overridevoid dispose() {// 移除当前页面的观察者。WidgetsBinding.instance.removeObserver(this);super.dispose();}@overridevoid didChangeAppLifecycleState(AppLifecycleState state) {// 当App生命周期状态为恢复时。if (state == AppLifecycleState.resumed) {getClipboardContents();}}/// 使用异步调用获取系统剪贴板的返回值。getClipboardContents() async {// 访问剪贴板的内容。ClipboardData clipboardData = await Clipboard.getData(Clipboard.kTextPlain);// 剪贴板不为空时。if (clipboardData != null && clipboardData.text.trim() != '') {String _name = clipboardData.text.trim();// 淘口令的正则表达式,能判断类似“¥123456¥”的文本。if (RegExp(r'[\uffe5]+.+[\uffe5]').hasMatch(_name)) {// 处理淘口令的业务逻辑。showDialog<Null>(context: context,barrierDismissible: true,builder: (BuildContext context) {return CupertinoAlertDialog(title: Text('淘口令'),content: Text(_name),);},);}}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Flutter Demo 主页'),),);}
}
如果把上面两段代码合成一个文件,执行调试,然后把APP放在后台,再复制一段淘口令,然后回到APP时,就会像下面一样弹出窗口。
Flutter代码锦囊---淘口令复制弹窗相关推荐
- Flutter代码锦囊---摇一摇
现在很多APP里面的会出现让用户拿起手机摇一摇的场景,除了最常见的微信.QQ等社交APP里面的摇一摇,我们在把APP给测试人员测试的时候,也经常要添加上摇一摇弹窗切换环境的场景,比如下面的场景. 所以 ...
- Flutter代码锦囊---自定义曲线裁剪
在实际开发中,很多APP里面都会有一些布局需要用到曲线,而不是直线,下面举两个例子,一个是京东APP的页面,一个是淘宝APP的页面,它们都用到了曲线. 在Flutter中可以怎么实现这个效果呢,有一个 ...
- Flutter代码锦囊---魔改进度条
Flutter框架提供了Material Design风格的线性进度条(LinearProgressIndicator)组件,就是下面的样子,方方正正的,一点也不圆润. 但是很多APP的设计都按照Ma ...
- Flutter代码锦囊---集中管理路由与导航
当一个Flutter项目的页面多来以后,页面跳来跳去的,开发者自己都会晕,所以需要用一个集中.灵活的方式去管理项目中所有页面的路由与导航. 通常我们是使用主页(home)属性设置应用程序的默认路由,即 ...
- Flutter代码锦囊---切换时页面保持状态
一个正常的Flutter项目中,通过底部导航栏(BottomNavigationBar)或者标签栏(TabBar)组件来切换页面内容,是很正常的操作.但是大家是否有发现,每次导航栏或标签栏切换页面时, ...
- Flutter代码锦囊---根据环境选择URL地址
现在要给公司开发一个内部使用的APP,但是因为是小公司,没有多余的服务器资源,只能拿公司的主机当服务器,也只能在通过映射实现外网访问.所以呀,很蛋疼,只能想办法判断用户是在内网使用APP,还是在外网使 ...
- 微信公众号对接淘宝客系统,淘口令解析
现在大家做淘宝客公众号的比较多,最近也是开发了淘宝客系统,解析淘口令也算是比较烦心的一件事了.直接上思路+代码,不啰嗦. 首先我们判断,用户发送的消息中是否含有https://m.tb.cn,一般淘口 ...
- 通过淘口令获取Url链接
话不多说上代码 举例 淘口令:6.0f/u枝这行 a:/
- C# 淘宝商品微信返利助手开发-(九)编写一个vue页面用于复制淘口令
系列教程一目录:返利助手原理 系列教程二目录:返利助手开放文档以及帐号申请地址 系列教程三目录:返利助手开发(1)API介绍 系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取淘口令 系列教程五 ...
最新文章
- PPT文字怎样规划 哪里可以代做PPT
- matlab imnoise 用法,怎样使在matlab用imnoise函数啊 对图像有什么要求才能用imnoise函数...
- SQL优化万能公式:5 大步骤 + 10 个案例
- html里注释的写法正确的是,网页怎么注释语句 HTML的注释正确写法是?
- 插入排序、选择排序、快速排序以及归并排序(附Python代码)
- 如何修改 SAP 登录界面的文字(事务码SE61)
- source insight 4.0 无法同步文件问题
- 使用Python分析网易云歌曲评论信息,我发现了这些有趣的规律
- LOCK TABLES
- C语言汇编-函数调用堆栈的过程
- 如何在 Windows 显示扩展名?
- 虚拟打印机 android版,Doro PDF Writer
- DTU和RTU的区别
- FL Studio使用外部音源播放导入的MIDI文件
- 天马行空(不定时更新)
- 如何向icloud上传文件_扔掉百度网盘,这两招教你用好 iCloud 分享文件
- Java 将txt文本文档转换为excel
- linux查看进程占用pcu,ksoftirq占用PCU较高,电脑使用较卡,该如何排查问题和解决?...
- 牛客-小a与星际探索
- AGM AG16K FPGA介绍