PHP正则淘口令,Flutter代码锦囊---淘口令复制弹窗
对于淘系电商APP或其他类似的APP而言,获取剪贴板上的淘口令,再解析出具体的商品详情,是整个APP的核心业务操作,就像下面图片展示的这样。
IMG_B955B557304E-1.jpeg
下面我们就用Flutter实现这个功能,首先是前面一部分导入相关引用和常规页面布局代码,直接复制就好了。
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget 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 with WidgetsBindingObserver {
@override
void initState() {
// 在当前页面放一个观察者。
WidgetsBinding.instance.addObserver(this);
super.initState();
}
@override
void dispose() {
// 移除当前页面的观察者。
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void 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(
context: context,
barrierDismissible: true,
builder: (BuildContext context) {
return CupertinoAlertDialog(
title: Text('淘口令'),
content: Text(_name),
);
},
);
}
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo 主页'),
),
);
}
}
如果把上面两段代码合成一个文件,执行调试,然后把APP放在后台,再复制一段淘口令,然后回到APP时,就会像下面一样弹出窗口。
IMG_3DEAAD8252F7-1.jpeg
作者:何小有
链接:https://www.jianshu.com/p/2eef7d735c02
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
PHP正则淘口令,Flutter代码锦囊---淘口令复制弹窗相关推荐
- Flutter代码锦囊---淘口令复制弹窗
对于淘系电商APP或其他类似的APP而言,获取剪贴板上的淘口令,再解析出具体的商品详情,是整个APP的核心业务操作,就像下面图片展示的这样. 下面我们就用Flutter实现这个功能,首先是前面一部分导 ...
- 淘宝店铺装修代码大全,淘宝页面设计代码.
淘宝店铺装修代码大全 快去学习一下吧这里有我做的实例. http://shop110214125.taobao.com 有什么问题可留言我会尽量解答. http://txw100.com/ 如 ...
- Flutter代码锦囊---自定义曲线裁剪
在实际开发中,很多APP里面都会有一些布局需要用到曲线,而不是直线,下面举两个例子,一个是京东APP的页面,一个是淘宝APP的页面,它们都用到了曲线. 在Flutter中可以怎么实现这个效果呢,有一个 ...
- Flutter代码锦囊---魔改进度条
Flutter框架提供了Material Design风格的线性进度条(LinearProgressIndicator)组件,就是下面的样子,方方正正的,一点也不圆润. 但是很多APP的设计都按照Ma ...
- Flutter代码锦囊---摇一摇
现在很多APP里面的会出现让用户拿起手机摇一摇的场景,除了最常见的微信.QQ等社交APP里面的摇一摇,我们在把APP给测试人员测试的时候,也经常要添加上摇一摇弹窗切换环境的场景,比如下面的场景. 所以 ...
- Flutter代码锦囊---集中管理路由与导航
当一个Flutter项目的页面多来以后,页面跳来跳去的,开发者自己都会晕,所以需要用一个集中.灵活的方式去管理项目中所有页面的路由与导航. 通常我们是使用主页(home)属性设置应用程序的默认路由,即 ...
- Flutter代码锦囊---切换时页面保持状态
一个正常的Flutter项目中,通过底部导航栏(BottomNavigationBar)或者标签栏(TabBar)组件来切换页面内容,是很正常的操作.但是大家是否有发现,每次导航栏或标签栏切换页面时, ...
- Flutter代码锦囊---根据环境选择URL地址
现在要给公司开发一个内部使用的APP,但是因为是小公司,没有多余的服务器资源,只能拿公司的主机当服务器,也只能在通过映射实现外网访问.所以呀,很蛋疼,只能想办法判断用户是在内网使用APP,还是在外网使 ...
- 大厂如何开发和部署前端代码?淘宝8年案例解读
在加入淘宝后,经历了大大小小的开发和部署方式的更迭,同时也有幸在整个的变革潮流中参与过其中的一些能力的建设.今天从一个亲历者的角度,通过自身经历与向同事考究,从"13年石器时代". ...
- 淘特 Flutter 流畅度优化实践
作者:谢伟(韦圣) 不同的业务背景引出不同的技术诉求,"用户体验特爽"是淘特的不懈追求,本文将介绍笔者加入淘特以来在Flutter流畅度方面的诸多优化实践,这些优化不涉及Engin ...
最新文章
- Solaris 上网配置
- 分享Kali Linux 2016.2第47周虚拟机
- python处理excel-python对Excel的读取
- python 类-Python 类属性和类方法
- elasticsearch api中的get操作
- java转换文本文件到xlsx(自制缓冲区,无需先验文件行数)
- 实例29:python
- netbsd配置gnome桌面
- 静态网站生成器将会成为下一个大热门
- 【路径规划】基于matlab粒子群算法机器人栅格路径规划【含Matlab源码 018期】
- 大家好,我是谢公子,来自深信服—深蓝攻防实验室
- 计算机用户guest无法删除吗,Win7怎么删除Guest账户?
- java实现身份证正反面图片的身份信息的识别
- 重走来时路,这一次我会披荆斩棘
- Kindle 可旋转桌面时钟
- 青春是一场不失不忘的期许
- Web前端之HTML超文本标记语言
- kafka消息存储机制和原理
- sparksql出现 serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo
- Linux内存池技术
热门文章
- springboot+pageoffice实现Word在线编辑
- 深度卷积神经网络结构演变
- esp8266 蓝牙耳机_基于ON Semi LC823450XD 的蓝牙耳机解决方案
- 被 onnx.checker.check_model 检查出的常见错误
- 程序员转正答辩ppt
- 跨平台数据库ODB实战1-ODB安装
- js 弹窗中写html代码,简单了解JavaScript弹窗实现代码
- 学习人工智能导论(3)
- OCR证件识别及其衍生产品介绍
- GEE|typeof、ee.Algorithms.If、ee.Algorithms.IsEqual 语法