openDialog static method

Future<bool?> openDialog({
  1. String content = '--',
  2. String? confirmText,
  3. String? cancelText,
  4. String? titleText,
  5. String? icon,
})

提示框

Implementation

static Future<bool?> openDialog({
  String content = '--',
  String? confirmText,
  String? cancelText,
  String? titleText,
  String? icon,
}) {
  return showDialog(
    context: HbRouter.key.currentContext!,
    builder: (BuildContext context) {
      return Center(
        child: Material(
          borderRadius: BorderRadius.circular(8.w),
          child: Container(
            width: 300.w,
            padding: EdgeInsets.symmetric(vertical: 16.w),
            decoration: HbStyle.toBoxR8(color: HbColor.bgWhite),
            child: Column(
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: <Widget>[
                Stack(
                  children: <Widget>[
                    Container(
                      alignment: Alignment.center,
                      width: double.infinity,
                      child: Text(
                        titleText ?? '',
                        style: const TextStyle(fontWeight: FontWeight.w600),
                      ),
                    ),
                    Positioned(
                      right: 16.w,
                      child: GestureDetector(
                        onTap: () {
                          HbNav.pop(arguments: false);
                        },
                        child: Icon(Icons.close, size: 18.sp),
                      ),
                    ),
                  ],
                ),
                SizedBox(height: 16.w),
                Visibility(
                  visible: (icon ?? _defaultDialogIcon).isNotEmpty,
                  child: HbIcon(
                    icon: icon ?? _defaultDialogIcon,
                    width: 48.w,
                    height: 48.w,
                  ).pb(12.w),
                ),
                Padding(
                  padding: EdgeInsets.symmetric(horizontal: 28.w),
                  child: Text(
                    content,
                    textAlign: TextAlign.center,
                    style: TextStyle(
                      fontSize: 12.sp,
                      height: 16 / 12,
                      fontWeight: FontWeight.w400,
                    ),
                  ),
                ),
                SizedBox(height: 18.w),
                Padding(
                  padding: EdgeInsets.symmetric(horizontal: 16.w),
                  child: Row(
                    children: <Widget>[
                      Visibility(
                        visible: cancelText != null,
                        child: Expanded(
                          child: HbButton(
                            height: 36.w,
                            bgColor: HbColor.bgGrey,
                            text: cancelText ?? 'Cancel',
                            onTap: () {
                              HbNav.pop(arguments: false);
                            },
                          ),
                        ),
                      ),
                      Visibility(
                        visible: cancelText != null,
                        child: SizedBox(width: 8.w),
                      ),
                      Expanded(
                        child: HbButton(
                          height: 36.w,
                          text: confirmText ??
                              HbCommonLocalizations.current.confirm,
                          onTap: () {
                            HbNav.pop(arguments: true);
                          },
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      );
    },
  );
}