鸿蒙通用组件弹窗简介
创始人
2024-11-10 05:09:54
0

鸿蒙通用组件弹窗简介

  • 弹窗----Toast
    • 引入@ohos.promptAction模块
    • 通过点击按钮,模拟弹窗
  • 警告对话框----AlertDialog
  • 列表弹窗----ActionSheet
  • 选择器弹窗
  • 自定义弹窗
    • 使用@CustomDialog声明一个自定义弹窗
    • 在需要使用的地方声明
    • 自定义弹窗,完整代码

弹窗----Toast

在这里插入图片描述

引入@ohos.promptAction模块

import promptAction from '@ohos.promptAction' 

通过点击按钮,模拟弹窗

Button('点击')   .width('60%')   .height(50)   .onClick(()=>{     promptAction.showToast({       message:'点击了按钮', // 展示的文字       duration:2000, // 停留时长       bottom: 100 // 距离底部多远     })   }) 

警告对话框----AlertDialog

AlertDialog用于向用户提出告警或者确认的对话框。

在这里插入图片描述

AlertDialog.show({   title:'提示信息',   message:'此信息比较重要,请确认!!!',   autoCancel: true, //点击遮障层时,是否关闭弹窗   alignment: DialogAlignment.Bottom, //弹窗位置   offset: { dx: 0, dy: -30 }, //相对于弹窗位置的偏移量   primaryButton: { //主要按钮     value: '确认', //按钮内容     fontColor: Color.Red, //字体颜色     action: () => { //点击回调       console.log('点击了确认按钮')     }   },   secondaryButton: { //次要按钮     value: '取消',     action: () => {       console.log('点击了取消按钮')     }   },   cancel: () => { //点击遮罩层取消时的回调     console.info('点击遮罩层取消时的回调')   } }) 

列表弹窗----ActionSheet

ActionSheet用于给用户一组列表弹窗,等用户选择后再作处理。

在这里插入图片描述

ActionSheet.show({ title:'提示信息', message: '此信息比较重要,请确认!!!', autoCancel: true, //点击遮障层时,是否关闭弹窗 alignment: DialogAlignment.Center, //弹窗位置 offset: { dx: 0, dy: -20 }, //弹窗相对alignment位置的偏移量 confirm: { //底部按钮     value: '取消', //按钮文本内容     action: () => { //按钮回调函数     console.log('点击按钮取消')     } }, cancel: () => { //点击遮障层关闭弹窗时的回调     console.log('点击遮障层取消') }, sheets:[     {     title:'操作1',     action: () => {         console.log('操作1')     }     },     {     title:'操作2',     action: () => {         console.log('操作2')     }     },     {     title:'操作3',     action: () => {         console.log('操作3')     }     }, ] }) 

alignment的几种位置:

DialogAlignment.Top 上部 DialogAlignment.Center 中间 DialogAlignment.Bottom 底部 DialogAlignment.TopStart 左上部 DialogAlignment.TopEnd 右上部 DialogAlignment.CenterStart 中间左边 DialogAlignment.CenterEnd 中间右边 DialogAlignment.BottomStart 左下部 DialogAlignment.BottomEnd 右下部 

选择器弹窗

鸿蒙API中有很多选择器弹窗,比如时间、日期、文本等,这里就不做介绍。

自定义弹窗

在实际使用过程中,一定会遇到官方提供的弹窗不能满足需要的情况,这时候就需要尽心自定义。

这里举一个自定义弹窗的简单例子

使用@CustomDialog声明一个自定义弹窗

@CustomDialog struct CustomDialogText{   controller: CustomDialogController = new CustomDialogController({ builder: CustomDialogText() })    build(){     Column({space: 20}){       Text('内容1')       Text('内容2')       Text('内容3')     }       .margin(20)     .onClick(()=>{       this.controller.close()     })   } } 

在build里面定义UI样式,这里只做为展示,随便定义了几个展示的文本内容

在需要使用的地方声明

在使用过程中,需要需要初始化CustomDialogController。

controller: CustomDialogController = new CustomDialogController({   builder: CustomDialogText(),// builder就是自定义的弹窗   alignment: DialogAlignment.Center, // 弹窗弹出位置   offset:{dx: 0, dy: -10} // 弹窗弹出后的偏移量,按需要进行设置 }) 

定义好controller之后,在使用的时候,直接调用this.controller.open()。

在这里插入图片描述

自定义弹窗,完整代码

@Entry @Component struct CommentTest{   controller: CustomDialogController = new CustomDialogController({     builder: CustomDialogText(),     alignment: DialogAlignment.Center,     offset:{dx: 0, dy: -10}   })   build(){     Column({space: 20}){       Button('点击弹出自定义弹窗')         .width('60%')         .height(50)         .onClick(()=>{           this.controller.open()         })      }     .width('100%')     .height('100%')     .justifyContent(FlexAlign.Center)   } }  @CustomDialog struct CustomDialogText{   controller: CustomDialogController = new CustomDialogController({ builder: CustomDialogText() })    build(){     Column({space: 20}){       Text('内容1')       Text('内容2')       Text('内容3')     }       .margin(20)     .onClick(()=>{       this.controller.close()     })   } } 

相关内容

热门资讯

每日必看推荐"wpk... 每日必看推荐"wpk德州代打有可以套路"详细外挂透明挂辅助软件-素来真的有挂(哔哩哔哩);1、这是跨...
2分钟了解!东游麻将软件打牌(... 2分钟了解!东游麻将软件打牌(辅助挂)原来存在有挂(专业辅助详细教程)-哔哩哔哩;东游麻将软件打牌软...
透视神器!wepoker代打辅... 透视神器!wepoker代打辅助机器人(透视)底牌透视挂辅助工具(可靠开挂辅助透明挂教程)-哔哩哔哩...
一分钟了解!传送五激k辅助靠谱... 一分钟了解!传送五激k辅助靠谱(辅助挂)详细透视开挂辅助技巧教程(一直真的是有挂)-哔哩哔哩;传送五...
最新通报"wpk可以... 最新通报"wpk可以后台调胜率"详细外挂透明挂辅助下载-原本真的是有挂(哔哩哔哩);wpk可以后台调...
一分钟了解!乐太坊有挂(辅助挂... 一分钟了解!乐太坊有挂(辅助挂)从来有挂(专业辅助揭秘教程)-哔哩哔哩;1.乐太坊有挂 ai辅助创建...
透视软件!wepoker透视脚... 透视软件!wepoker透视脚本苹果版(透视)底牌透视挂辅助机器人(可靠开挂辅助必赢教程)-哔哩哔哩...
科普攻略"wpk数据... 科普攻略"wpk数据统计软件"详细外挂透明挂辅助工具-最初真的有挂(哔哩哔哩);wpk数据统计软件A...
第一分钟了解!全民大菠萝黑金版... 第一分钟了解!全民大菠萝黑金版辅助器(辅助挂)详细透视开挂辅助爆料教程(切实真的有挂)-哔哩哔哩;全...
8分钟了解!中至赣牌圈辅助(辅... 8分钟了解!中至赣牌圈辅助(辅助挂)原本真的有挂(专业辅助必胜教程)-哔哩哔哩;1、当中至赣牌圈辅助...