showAlert static method

Future showAlert(
  1. BuildContext? context, {
  2. bool barrierDismissible = false,
  3. required Widget alertViewBulider(
    1. BuildContext context
    ),
})

Implementation

static Future showAlert(
  BuildContext? context, {
  bool barrierDismissible = false,
  required Widget Function(BuildContext context) alertViewBulider,
}) {
  if (context == null) {
    context = OverlayInit.contextGetBlock?.call();
  }
  if (context == null) {
    debugPrint('🚗🚗🚗 alert context is null, 请插入context或者执行OverlayInit');
    return Future(() => false);
  }

  return showDialog(
    context: context,
    barrierDismissible: barrierDismissible,
    builder: (_) => Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: <Widget>[
        alertViewBulider(context!),
      ],
    ),
  );
  /*
  // return;

  FocusNode _commentFocus = FocusNode();
  showDialog(
    context: context,
    barrierDismissible: false,
    builder: (_) => Container(
      color: Colors.red,
      child: GestureDetector(
        onTap: () {
          print('触摸收起键盘');
          FocusScope.of(context).requestFocus(_commentFocus); // 获取焦点
          Future.delayed(Duration(milliseconds: 0)).then((value) {
            _commentFocus.unfocus(); // 失去焦点
          });
          // FocusScope.of(context).requestFocus(FocusNode());//可能是上下文context引起的无效
        },
        // GestureDetector 里的 child 不是 Container,而是Column等会无法响应点击
        child: Container(
          color: Colors.green,
          child: Stack(
            children: [
              TextField(focusNode: _commentFocus), // 键盘处理的中介
              Container(
                constraints: BoxConstraints.expand(),
                color: Colors.yellow,
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                    alertViewBulider(context),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    ),
  );
  */
}