几个Flutter开发中的常用函数
/** 返回当前时间戳 */static int currentTimeMillis() {return new DateTime.now().millisecondsSinceEpoch;}/** 复制到剪粘板 */static copyToClipboard(final String text) {if (text == null) return;Clipboard.setData(new ClipboardData(text: text));}static const RollupSize_Units = ["GB", "MB", "KB", "B"];/** 返回文件大小字符串 */static String getRollupSize(int size) {int idx = 3;int r1 = 0;String result = "";while (idx >= 0) {int s1 = size % 1024;size = size >> 10;if (size == 0 || idx == 0) {r1 = (r1 * 100) ~/ 1024;if (r1 > 0) {if (r1 >= 10)result = "$s1.$r1${RollupSize_Units[idx]}";elseresult = "$s1.0$r1${RollupSize_Units[idx]}";} elseresult = s1.toString() + RollupSize_Units[idx];break;}r1 = s1;idx--;}return result;}
/** 返回两个日期相差的天数 */static int daysBetween(DateTime a, DateTime b, [bool ignoreTime = false]) {if (ignoreTime) {int v = a.millisecondsSinceEpoch ~/ 86400000 -b.millisecondsSinceEpoch ~/ 86400000;if (v < 0) return -v;return v;} else {int v = a.millisecondsSinceEpoch - b.millisecondsSinceEpoch;if (v < 0) v = -v;return v ~/ 86400000;}}
/** 获取屏幕宽度 */static double getScreenWidth(BuildContext context) {return MediaQuery.of(context).size.width;}/** 获取屏幕高度 */static double getScreenHeight(BuildContext context) {return MediaQuery.of(context).size.height;}/** 获取系统状态栏高度 */static double getSysStatsHeight(BuildContext context) {return MediaQuery.of(context).padding.top;}