| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import 'dart:async';
- import 'package:flutter/material.dart';
- import 'package:flutter/cupertino.dart';
- class Loading {
- static bool isShow = false;
- static show(BuildContext context, { int timeout = 5 }) {
- 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;
- });
- Timer(new Duration(seconds: timeout), () {
- hide(context);
- });
- }
- }
- static hide(BuildContext context) {
- if (isShow) {
- Navigator.of(context).pop();
- }
- }
- }
|