login_dialog.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
  3. import 'package:get/get.dart';
  4. import 'package:keyboard/dialog/login/login_dialog_controller.dart';
  5. import '../../module/login/login_controller.dart';
  6. import '../../utils/event_bus.dart';
  7. import 'login_dialog_view.dart';
  8. /// 登录弹窗显示事件
  9. const eventLoginDialogShow = "event_login_dialog_show";
  10. class LoginDialog {
  11. static const String TAG = "LoginDialog";
  12. static void show() {
  13. SmartDialog.show(
  14. backType: SmartBackType.normal,
  15. clickMaskDismiss: true,
  16. alignment: Alignment.bottomCenter,
  17. animationType: SmartAnimationType.centerScale_otherSlide,
  18. tag: TAG,
  19. keepSingle: true,
  20. onDismiss: () => Get.delete<LoginDialogController>(),
  21. builder: (context) {
  22. // 通知外部,登录弹窗显示
  23. WidgetsBinding.instance.addPostFrameCallback((_) {
  24. eventBus.post(eventLoginDialogShow);
  25. });
  26. return const LoginDialogView();
  27. },
  28. );
  29. }
  30. }