|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import 'package:flutter/material.dart';
- import 'package:zhiying_comm/zhiying_comm.dart';
-
- import 'loading_dialog.dart';
-
- // loading弹窗
- class Loading {
- static OverlayEntry _overlayEntry;
-
- static Future show(
- BuildContext context, {
- String msg,
- }) async {
- dismiss();
- _overlayEntry = new OverlayEntry(builder: (context) {
- return GestureDetector(
- onTap: dismiss,
- child: Container(
- color: Colors.black.withOpacity(0.3),
- child: LoadingDialog(
- message: msg,
- ),
- ),
- );
- });
-
- try {
- //插入到 Overlay中显示 OverlayEntry
- Overlay.of(context).insert(_overlayEntry);
- }catch(e, s){
- Logger.error(e, s);
- }
- }
-
- static dismiss() {
- try {
- _overlayEntry?.remove();
- _overlayEntry = null;
- }catch(e, s){
- Logger.error(e, s);
- }
- }
- }
|