![[Dart] Flutter开发中的几个常用函数 [Dart] Flutter开发中的几个常用函数](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
几个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]}";
else
result = "$s1.0$r1${RollupSize_Units[idx]}";
} else
result = 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;
}