Flutter开发中的几个常用函数

时间:2023-03-08 23:53:04
Flutter开发中的几个常用函数

几个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 = ;
int r1 = ;
String result = "";
while (idx >= ) {
int s1 = size % ;
size = size >> ;
if (size == || idx == ) {
r1 = (r1 * ) ~/ ;
if (r1 > ) {
if (r1 >= )
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 ~/ -
b.millisecondsSinceEpoch ~/ ;
if (v < ) return -v;
return v;
} else {
int v = a.millisecondsSinceEpoch - b.millisecondsSinceEpoch;
if (v < ) v = -v;
return v ~/ ;
}
}
/** 获取屏幕宽度 */
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;
}