基础库
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

loading.dart 880 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import 'package:flutter/material.dart';
  2. import 'package:zhiying_comm/zhiying_comm.dart';
  3. import 'loading_dialog.dart';
  4. // loading弹窗
  5. class Loading {
  6. static OverlayEntry _overlayEntry;
  7. static Future show(
  8. BuildContext context, {
  9. String msg,
  10. }) async {
  11. dismiss();
  12. _overlayEntry = new OverlayEntry(builder: (context) {
  13. return GestureDetector(
  14. onTap: dismiss,
  15. child: Container(
  16. color: Colors.black.withOpacity(0.3),
  17. child: LoadingDialog(
  18. message: msg,
  19. ),
  20. ),
  21. );
  22. });
  23. try {
  24. //插入到 Overlay中显示 OverlayEntry
  25. Overlay.of(context).insert(_overlayEntry);
  26. }catch(e, s){
  27. Logger.error(e, s);
  28. }
  29. }
  30. static dismiss() {
  31. try {
  32. _overlayEntry?.remove();
  33. _overlayEntry = null;
  34. }catch(e, s){
  35. Logger.error(e, s);
  36. }
  37. }
  38. }