0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

harmony-utils之DialogUtil,弹窗工具类

童长老 来源:jf_14594073 作者:jf_14594073 2025-07-04 15:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

harmony-utils之DialogUtil,弹窗工具类

harmony-utils 简介与说明


harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志、异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含 PickerUtil、PhotoHelper、ScanUtil。

下载安装
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
   AppUtil.init(this.context);
 }

API方法与使用


setDefaultConfig 设置默认统一样式
DialogUtil.setDefaultConfig((config) = > {
  config.title = "温馨提示"
  config.subtitle = "弹窗副标题"
  config.alignment = DialogAlignment.Top
  config.borderWidth = 1.2
  config.autoCancel = true
});

DialogUtil.setDefaultConfig((config) = > {
  config.title = "友好提示"
  config.alignment = DialogAlignment.Center
  config.borderWidth = 1
  config.borderColor = Color.Blue
});

DialogUtil.setDefaultConfig((config) = > {
  config.title = "提示"
  config.alignment = DialogAlignment.Bottom
  config.borderColor = Color.Blue
  config.borderWidth = 0
  config.autoCancel = false
});
showConfirmDialog 显示弹窗(一个按钮)
DialogUtil.showConfirmDialog({
  title: "温馨提示",
  message: 'APP已更新最新版本!',
  confirm: "确定",
  onAction: () = > {
    ToastUtil.showToast("点击了“确定”按钮");
  }
});

DialogUtil.showConfirmDialog({
  backCancel: false,
  title: "温馨提示",
  message: 'APP已更新最新版本!',
  confirm: {
    value: "确定",
    action: () = > {
      ToastUtil.showToast("点击了“确定”按钮");
    }
  }
});
showPrimaryDialog 显示弹窗(两个按钮)
DialogUtil.showPrimaryDialog({
  message: '最新版本可提供更多的工具和功能,欢迎下载更新!!!',
  primaryButton: "取消",
  secondaryButton: "更新",
  onAction: (action) = > {
    if (action == DialogAction.ONE) {
      ToastUtil.showToast("点击了“取消”按钮");
    } else if (action == DialogAction.TWO) {
      ToastUtil.showToast("点击了“更新”按钮");
    }
  }
});

DialogUtil.showPrimaryDialog({
  title: "温馨提示",
  message: '最新版本可提供更多的工具和功能,欢迎下载更新!',
  primaryButton: {
    value: "取消",
    fontColor: Color.Black,
    action: () = > {
      ToastUtil.showToast("点击了“取消”按钮");
    }
  },
  secondaryButton: {
    value: "更新",
    fontColor: Color.Red,
    action: () = > {
      ToastUtil.showToast("点击了“更新”按钮");
    }
  },
  onWillDismiss: (dismissDialogAction: DismissDialogAction) = > {
    LogUtil.error("onWillDismiss: " + JSON.stringify(dismissDialogAction))
  }
});
showDialog 显示弹窗(可多个按钮)
DialogUtil.showDialog({
  title: "温馨提示",
  message: "最新版本可提供更多的工具和功能",
  buttons: ["取消", "稍后", "更新", "升级"],
  onAction: (action) = > {
    ToastUtil.showToast(`点击了:${buttons[Math.abs(action)-1]}`);
  }
});

DialogUtil.showDialog({
  title: "温馨提示",
  message: "最新版本可提供更多的工具和功能",
  buttonDirection: DialogButtonDirection.HORIZONTAL,
  buttons: [{
    value: "取消",
    fontColor: Color.Blue,
    action: () = > {
      ToastUtil.showToast(`点击了"取消"`);
    }
  }, {
    value: "稍后",
    fontColor: Color.Green,
    action: () = > {
      ToastUtil.showToast(`点击了"稍后"`);
    }
  }, {
    value: "更新",
    fontColor: Color.Red,
    action: () = > {
      ToastUtil.showToast(`点击了"更新"`);
    }
  }]
});
showActionSheet 列表选择弹窗
DialogUtil.showActionSheet({
  message: "请选择",
  sheets: ["功能菜单一", "功能菜单二", "功能菜单三", "功能菜单四", "功能菜单五"],
  onAction: (index) = > {
    ToastUtil.showToast("index: " + index);
  }
});
showCalendarPicker 日历选择器弹窗
let date = DateUtil.getToday();
DialogUtil.showCalendarPicker({
  selected: date,
  onAccept: (value) = > {
    LogUtil.error(`选择了: ${JSON.stringify(value)}}`);
    ToastUtil.showToast(DateUtil.getFormatDateStr(value, "yyyy年MM月dd日"));
  },
  onCancel: () = > {
    ToastUtil.showToast(`取消了`);
  }
});
showDatePicker 日期滑动选择器弹窗
let date = DateUtil.getToday();
DialogUtil.showDatePicker({
  selected: date,
  showTime: true,
  onDateAccept: (value) = > {
    LogUtil.error(`选择了: ${JSON.stringify(value)}}`);
    ToastUtil.showToast(DateUtil.getFormatDateStr(value, "yyyy年MM月dd日 HH:mm"));
  },
  onCancel: () = > {
    ToastUtil.showToast(`取消了`);
  }
});
showTimePicker 时间滑动选择器弹窗
let date = DateUtil.getToday();
DialogUtil.showTimePicker({
  selected: date,
  format: TimePickerFormat.HOUR_MINUTE,
  useMilitaryTime: true,
  onAccept: (value) = > {
    LogUtil.error(`选择了: ${JSON.stringify(value)}}`);
    ToastUtil.showToast(`${value.hour}${value.minute}分`);
  },
  onCancel: () = > {
    ToastUtil.showToast(`取消了`);
  }
});
showTextPicker 文本滑动选择器弹窗
private readonly array: string[] = ["黑龙江省", "哈尔滨市", "道里区", "砂山", "砀山", "高薪区"];
@State selectValue: string = '';

DialogUtil.showTextPicker({
  range: array,
  value: this.selectValue,
  onAccept: (result) = > {
    LogUtil.error(`选择了: ${JSON.stringify(result)}}`);
    this.selectValue = result.value as string;
    ToastUtil.showToast(`${this.selectValue}`);
  },
  onCancel: () = > {
    ToastUtil.showToast(`取消了`);
  }
});

创作不易,请给童长老点赞

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Harmony
    +关注

    关注

    0

    文章

    108

    浏览量

    3494
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    harmony-utilsCacheUtil,缓存工具

    harmony-utilsCacheUtil,缓存工具
    的头像 发表于 07-04 16:36 320次阅读

    harmony-utilsCharUtil,字符工具

    harmony-utilsCharUtil,字符工具
    的头像 发表于 07-04 16:34 346次阅读

    harmony-utilsCrashUtil,异常相关工具

    harmony-utilsCrashUtil,异常相关工具
    的头像 发表于 07-04 16:33 331次阅读

    harmony-utilsDeviceUtil,设备相关工具

    harmony-utilsDeviceUtil,设备相关工具
    的头像 发表于 07-03 18:27 415次阅读

    harmony-utilsDisplayUtil,屏幕相关工具

    harmony-utilsDisplayUtil,屏幕相关工具
    的头像 发表于 07-03 18:26 339次阅读

    harmony-utilsEmitterUtil,Emitter工具

    harmony-utilsEmitterUtil,Emitter工具
    的头像 发表于 07-03 18:24 313次阅读

    harmony-utilsFileUtil,文件相关工具

    harmony-utilsFileUtil,文件相关工具
    的头像 发表于 07-03 18:23 393次阅读

    harmony-utilsFormatUtil,格式化工具

    harmony-utilsFormatUtil,格式化工具
    的头像 发表于 07-03 18:22 389次阅读

    harmony-utilsImageUtil,图片相关工具

    harmony-utilsImageUtil,图片相关工具
    的头像 发表于 07-03 18:22 606次阅读

    harmony-utilsNumberUtil,Number工具

    harmony-utilsNumberUtil,Number工具 harmony-utils 简介与说明
    的头像 发表于 07-03 18:08 382次阅读

    harmony-utilsPreviewUtil,文件预览工具

    harmony-utilsPreviewUtil,文件预览工具 harmony-utils 简介与说明 [
    的头像 发表于 07-03 11:40 371次阅读

    harmony-utilsStrUtil,字符串工具

    harmony-utilsStrUtil,字符串工具 harmony-utils 简介与说明 [ha
    的头像 发表于 07-03 11:32 387次阅读

    harmony-utilsTypeUtil,类型检查工具

    harmony-utilsTypeUtil,类型检查工具 harmony-utils 简介与说明 [
    的头像 发表于 06-30 17:35 379次阅读

    harmony-utilsAuthUtil,生物认证相关工具

    # harmony-utilsAuthUtil,生物认证相关工具 ## harmony-utils 简介与说明 ------[
    的头像 发表于 06-26 17:43 333次阅读

    harmony-utilsDateUtil,日期工具

    harmony-utilsDateUtil,日期工具
    的头像 发表于 06-25 22:15 275次阅读