showConfirmDialog function

Future? showConfirmDialog(
  1. BuildContext context,
  2. String text, {
  3. Function? confirmCallback,
  4. dynamic submitTitle = '确定',
  5. dynamic cancelTitle = "取消",
  6. dynamic title = '温馨提示',
})

Implementation

Future<dynamic>? showConfirmDialog(
  BuildContext context,
  String text, {
  Function? confirmCallback,
  submitTitle = '确定',
  cancelTitle = "取消",
  title = '温馨提示',
}) {
  return showCupertinoModalPopup(
      context: context,
      builder: (context) {
        return SimpleDialog(
          title: Container(
            height: 80.w,
            alignment: Alignment.center,
            decoration: BoxDecoration(
              color: Color.fromRGBO(235, 236, 236, 1),
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(20.w),
                topRight: Radius.circular(20.w),
              ),
            ),
            child: Text(
              title,
              style: font(30, color: '#3e3e3e'),
            ),
          ),
          titlePadding: EdgeInsets.all(0),
          contentPadding: EdgeInsets.all(0),
          backgroundColor: themeColor.ffFFFFFF,
          elevation: 0,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.all(
              Radius.circular(20.w),
            ),
          ),
          children: <Widget>[
            Container(
              alignment: Alignment.center,
              padding: EdgeInsets.symmetric(vertical: 56.w, horizontal: 42.w),
              child: Text(
                text,
                style: font(26, color: '#030303'),
              ),
            ),
            Container(
              decoration: BoxDecoration(
                borderRadius: BorderRadius.only(
                  bottomLeft: Radius.circular(20.w),
                  bottomRight: Radius.circular(20.w),
                ),
              ),
              child: Row(
                children: [
                  if (cancelTitle != null)
                    Expanded(
                      flex: 1,
                      child: GestureDetector(
                        onTap: () {
                          Navigator.of(context).pop();
                        },
                        child: Container(
                          height: 76.w,
                          decoration: BoxDecoration(
                            color: Color.fromRGBO(235, 236, 236, 1),
                            borderRadius: BorderRadius.only(
                              bottomLeft: Radius.circular(20.w),
                            ),
                          ),
                          alignment: Alignment.center,
                          child: Text(cancelTitle),
                        ),
                      ),
                    ),
                  Expanded(
                    flex: 1,
                    child: GestureDetector(
                      onTap: () {
                        confirmCallback?.call();
                        if (confirmCallback != null) {
                          Navigator.of(context).pop();
                        }
                      },
                      child: Container(
                        // width: 340.w,
                        height: 76.w,
                        // decoration: BoxDecoration(
                        //   image: DecorationImage(
                        //     image: NetworkImage(telIcon),
                        //     fit: BoxFit.fill,
                        //     alignment: AlignmentDirectional.topStart,
                        //   ),
                        // ),
                        decoration: BoxDecoration(
                          gradient: LinearGradient(
                            colors: [
                              Color.fromRGBO(253, 100, 79, 1),
                              Color.fromRGBO(241, 141, 39, 1),
                            ],
                            begin: Alignment.topCenter,
                            end: Alignment.bottomCenter,
                          ),
                          borderRadius: BorderRadius.only(
                            bottomRight: Radius.circular(20.w),
                            bottomLeft: Radius.circular(cancelTitle != null ? 0.w : 20.w),
                          ),
                        ),
                        alignment: Alignment.center,
                        child: Text(
                          submitTitle,
                          style: font(28, color: '#ffffff'),
                        ).background(),
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ],
        );
      });
}