showAlert static method
Future
showAlert(
- BuildContext? context, {
- bool barrierDismissible = false,
- required Widget alertViewBulider(
- 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),
],
),
),
],
),
),
),
),
);
*/
}