loading.dart 1.87 KB
import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:one_key/res/colors.dart';

class Loading {
  static bool isLoading = false;

  static void showLoading(BuildContext context) {
    if (!isLoading) {
      // final mediaQuery = MediaQuery.of(context);
      // final size = mediaQuery.size;
      // final double width = min(size.width, 400.0) * 0.763;
      // final double height = 200;
      // final constraint = BoxConstraints(
      //     minWidth: width,
      //     minHeight: height,
      //     maxWidth: size.width,
      //     maxHeight: double.infinity);

      isLoading = true;
      showGeneralDialog(
          context: context,
          barrierDismissible: false,
          barrierColor: Colors.transparent,
          barrierLabel:
              MaterialLocalizations.of(context).modalBarrierDismissLabel,
          transitionDuration: const Duration(milliseconds: 150),
          pageBuilder: (BuildContext context, Animation animation,
              Animation secondaryAnimation) {
            return
            //  Container(
            //     constraints: constraint,
            //     child: 
                Align(
                  child: ClipRRect(
                      borderRadius: BorderRadius.circular(10),
                      child: Container(
                        width: 200,
                        height: 200,
                        color: Colors.transparent,
                        child: CupertinoActivityIndicator(
                          color: MyColours.color_000000,
                          radius: 30,
                        ),
                      )),
                // )
                );
          }).then((v) {
        isLoading = false;
      });
    }
  }

  static void hideLoading(BuildContext context) {
    if (isLoading) {
      Navigator.of(context).pop();
    }
  }
}