幾個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;}
?