showDialog method
YYDialog
showDialog(
- BuildContext context, {
- Color backgroundColor = Colors.white,
- Color barrierColor = const Color(0x4d000000),
- BorderRadius borderRadius = const BorderRadius.all(Radius.circular(6)),
- String title = '',
- AlignmentGeometry? titleAlignment,
- String message = '',
- Widget? contentView,
- List<
ButtonArgs> buttonArgs = const <ButtonArgs>[], - OnButtonPressed? buttonPressed,
- bool isClickOutsideDismiss = false,
- OnDialogBuildCall? buildCall,
- EdgeInsetsGeometry? padding,
- Gravity? gravity,
- bool isShowClose = false,
- AlignmentGeometry alignment = Alignment.center,
- Color contentColor = const Color(0xe63B372C),
- double contentFontSize = 16,
- dynamic margin = const EdgeInsets.only(left: 20, right: 20),
- OnDialogDismissCall? dismissCall,
- bool isKeyboardAvoiding = false,
- Color dividerColor = const Color(0xffefefef),
- bool isAutoClose = true,
显示dialog(message优先级大于contentView)
context
widget context
backgroundColor
dialog背景颜色
barrierColor
dialog弹窗外背景
borderRadius
边框圆角大小
title
标题
titleAlignment
标题对齐方式
alignment
对齐方式
message
消息内容与contentView互斥,若设置message后contentView无效
contentView
内容自定义视图与message互斥
buttonArgs
按钮列表
buttonPressed
按钮事件回调
isClickOutsideDismiss
点击dialog外部是否消失
margin
dialog外边距
buildCall
构建完成回调
KeyboardAvoiding
true弹出dialog在软键盘之上
isAutoClose
是否自动关闭dialog,true-点击按钮时自动关闭dialog
Implementation
YYDialog showDialog(
BuildContext context, {
Color backgroundColor = Colors.white,
Color barrierColor = const Color(0x4d000000),
BorderRadius borderRadius = const BorderRadius.all(Radius.circular(6)),
String title = '',
AlignmentGeometry? titleAlignment,
String message = '',
Widget? contentView,
List<ButtonArgs> buttonArgs = const <ButtonArgs>[],
OnButtonPressed? buttonPressed,
bool isClickOutsideDismiss = false,
OnDialogBuildCall? buildCall,
EdgeInsetsGeometry? padding,
Gravity? gravity,
bool isShowClose = false,
AlignmentGeometry alignment = Alignment.center,
Color contentColor = const Color(0xe63B372C),
double contentFontSize = 16,
margin = const EdgeInsets.only(left: 20, right: 20),
OnDialogDismissCall? dismissCall,
bool isKeyboardAvoiding = false,
Color dividerColor = const Color(0xffefefef),
bool isAutoClose = true,
}) {
var entry = DialogEntry();
var dialogPanel = _MessageDialogPanel(
backgroundColor: backgroundColor,
title: title,
titleAlignment: titleAlignment,
message: message,
contentView: contentView,
buttonArgs: buttonArgs,
buttonPressed: buttonPressed,
dialogEntry: entry,
alignment: alignment,
contentColor: contentColor,
contentFontSize: contentFontSize,
padding: padding ?? EdgeInsets.only(left: 20, top: title.isEmptyString ? 25 : 16, right: 20, bottom: 25),
isShowClose: isShowClose,
dividerColor: dividerColor,
isAutoClose: isAutoClose,
);
var dialog = DialogPanel.showMessageDialog(
context,
container: dialogPanel,
borderRadius: borderRadius,
barrierDismissible: isClickOutsideDismiss,
dismissCall: dismissCall,
gravity: gravity,
margin: margin,
isKeyboardAvoiding: isKeyboardAvoiding,
backgroundColor: backgroundColor,
barrierColor: barrierColor,
);
entry.dialog = dialog;
if (buildCall != null) {
buildCall(dialog);
}
return dialog;
}