Flutter Loading菊花
2020-03-25 本文已影响0人
倪大头
创建一个Loading类
import 'package:flutter/cupertino.dart';
class Loading {
static bool isShow = false;
static showLoading(BuildContext context) {
if (!isShow) {
isShow = true;
showGeneralDialog(
context: context,
// barrierColor: Colors.white, // 背景色
// barrierLabel: '',
barrierDismissible: false, // 是否能通过点击空白处关闭
transitionDuration: const Duration(milliseconds: 150), // 动画时长
pageBuilder: (BuildContext context, Animation animation,
Animation secondaryAnimation) {
return Align(
child: Container(
width: 100,
height: 100,
decoration: BoxDecoration(
color: Colors.black54,
borderRadius: BorderRadius.all(Radius.circular(10)),
),
child: Theme(
data: ThemeData(
cupertinoOverrideTheme: CupertinoThemeData(
brightness: Brightness.dark,
),
),
child: CupertinoActivityIndicator(
radius: 14,
),
),
),
);
}).then((value) {
isShow = false;
});
}
}
static hideLoading(BuildContext context) {
if (isShow) {
Navigator.of(context).pop();
}
}
}
调用:
Loading.showLoading(context);
Loading.hideLoading(context);
image.png
可以自定义菊花Container,child换成Column可以在下方加入文字提示