当前位置: 首页 > wzjs >正文

网站生鲜建设市场分析提供南昌网站建设公司

网站生鲜建设市场分析,提供南昌网站建设公司,松岗网站的建设,买购网十大品牌官网自定义弹窗 自定义弹窗是界面开发中最为常用的一种弹窗写法。在自定义弹窗中, 布局样式完全由您决定,非常灵活。通常会被封装成工具类,以使得APP中所有弹窗具备相同的设计风格。 自定义弹窗具备的能力有 打开弹窗自定义布局,以…

自定义弹窗

自定义弹窗是界面开发中最为常用的一种弹窗写法。在自定义弹窗中, 布局样式完全由您决定,非常灵活。通常会被封装成工具类,以使得APP中所有弹窗具备相同的设计风格。

自定义弹窗具备的能力有

  • 打开弹窗
  • 自定义布局,以及自定义传参数(通常只要能传参,您就几乎对其界面有绝对的掌控了)
  • 更新弹窗内容
  • 关闭弹窗
  • 释放布局资源

以下能力均可在API图中展现。如果图看明白,基本能掌握比看官方文档还要全面的点。

API

想要让一个自定义弹窗展示,我们首先要获取一个名为 PromptAction类的实例。这个实例由:

getUIContext().getPromptAction()来获取。我们拿到实例之后,就可以看到他里面有比较全面的, 老版本的和新版本的自定义弹窗接口。

下图直接以PromptAction类为切入点。关联所有自定义弹窗需要的API。

代码案例

代码

//用到的自定义数据
interface DialogUIParam {titleText: stringbutton1Text ?: stringbutton2Text ?: stringbutton1Color ?: Color | Resource | stringbutton2Color ?: Color | Resource | string}interface MyCustomDialogParam {uiParam: DialogUIParamonButton1Click: () => voidonButton2Click: () => void
}// 变量
myCustomDialogContent: ComponentContent<Object> | null = null// 调用入口
Text('自定义弹窗').id('customDialog').fontSize($r('app.float.page_text_font_size')).fontWeight(FontWeight.Bold).alignRules({top: { anchor: 'TextPickerDialog', align: VerticalAlign.Bottom },start: { anchor: '__container__', align: HorizontalAlign.Start }}).onClick(() => {this.openCustomDialog()})//打开弹窗openCustomDialog() {// 首先得到promptAction对象let promptAction: PromptAction = this.getUIContext().getPromptAction()if (this.myCustomDialogContent == null) {let uiParam: DialogUIParam = {titleText: '自定义弹窗',button1Text: '点击更新布局',button2Text: '关掉弹窗',button1Color: Color.Blue,button2Color: Color.Red}let param: MyCustomDialogParam = {uiParam: uiParam,onButton1Click: () => {// 更新弹窗的布局param.uiParam.button1Color = Color.Redthis.myCustomDialogContent?.update(param)},onButton2Click: () => {this.closeCustomDialog()}}this.myCustomDialogContent = new ComponentContent(this.getUIContext(),new WrappedBuilder(this.myCustomDialog), param)}let baseDialogOptions: promptAction.BaseDialogOptions = {onDidAppear: () => {console.log("WrappedBuilder 生命周期 onDidAppear触发")},onWillAppear: () => {console.log("WrappedBuilder 生命周期 onWillAppear 触发")},onWillDisappear: () => {console.log("WrappedBuilder 生命周期 onWillDisappear 触发")},onDidDisappear: () => {console.log("WrappedBuilder 生命周期 onDidDisappear 触发")this.myCustomDialogContent?.dispose()this.myCustomDialogContent = null}}promptAction.openCustomDialog(this.myCustomDialogContent, baseDialogOptions)}// 关闭弹窗
closeCustomDialog() {if (this.myCustomDialogContent != null) {this.getUIContext().getPromptAction().closeCustomDialog(this.myCustomDialogContent)}}// builer修饰的组件
@BuildermyCustomDialog(param: MyCustomDialogParam) {Stack() {Column() {Text(param.uiParam.titleText).id('title')if (param.uiParam.button1Text) { //条件渲染Button(param.uiParam.button1Text).id('button1').margin(20).padding({top: 10,bottom: 10,left: 20,right: 20}).onClick(() => {console.log("button1 被点击")param.onButton1Click()}).backgroundColor(param.uiParam.button1Color ? param.uiParam.button1Color : Color.Blue)}if (param.uiParam.button2Text) {Button(param.uiParam.button2Text).id('button2').padding({top: 10,bottom: 10,left: 20,right: 20}).margin({ top: 20 }).onClick(() => {console.log("button2 被点击")//   // 让弹窗消失param.onButton2Click()}).backgroundColor(param.uiParam.button2Color ? param.uiParam.button2Color : Color.Blue)}}.alignSelf(ItemAlign.Center)}.height(200).width(250).backgroundColor(Color.White).borderRadius(15)}

日志


文章转载自:

http://kT6sWt7N.ntqqm.cn
http://FVrtFkcm.ntqqm.cn
http://lvvyYyJh.ntqqm.cn
http://W8SoWgg9.ntqqm.cn
http://a4db5WGQ.ntqqm.cn
http://PeBJDoKE.ntqqm.cn
http://54OwOsnA.ntqqm.cn
http://YfrKh6Fw.ntqqm.cn
http://RGInjJgh.ntqqm.cn
http://U5qCdre8.ntqqm.cn
http://Sa6STxcP.ntqqm.cn
http://rZycUqgj.ntqqm.cn
http://ZbswAYdg.ntqqm.cn
http://2PIGqKfl.ntqqm.cn
http://J7GOVxvS.ntqqm.cn
http://0DO0i4pO.ntqqm.cn
http://TuJZ2EZF.ntqqm.cn
http://LET5GRuP.ntqqm.cn
http://t1k3Evuv.ntqqm.cn
http://IMcnAlAB.ntqqm.cn
http://OjpTCFlZ.ntqqm.cn
http://x8Frq7lI.ntqqm.cn
http://7AeJjuRD.ntqqm.cn
http://WEMxGdpQ.ntqqm.cn
http://h094hXdD.ntqqm.cn
http://d4ykhLVe.ntqqm.cn
http://Qs5dDKa8.ntqqm.cn
http://tp9RmLDW.ntqqm.cn
http://K5W6LVuS.ntqqm.cn
http://lTSlzjiF.ntqqm.cn
http://www.dtcms.com/wzjs/629428.html

相关文章:

  • 用软件做的网站权限中国住房和城乡建设部
  • 一个网站值多少钱wordpress固定地址
  • 给蛋糕店做企业网站的文案怎么快速建设小型外贸网站
  • 悦阁网站开发旗舰店wordpress主题设置
  • 张家口建设部网站如何仿做网站
  • 深圳中英文网站建设简单静态网页制作
  • 猫咪网页链接厦门做网站优化哪家好
  • 孝感网站建设xgsh网站建设教程网哪个好
  • 给网站如何做飘窗免费crm网站下载
  • 网站建设工作室介绍范文阿里代运营公司前十名
  • 网站设计自已申请wordpress 页面编辑
  • wordpress回收站在哪里东莞房价一览表
  • 公司网站建设全包广州网站建设企业
  • 建设厅考试网站南宁网站建设长春
  • 如何自己建设简单的手机网站网站建设的作业模板
  • 做搜狗手机网站网站系统后台
  • c 微网站开发wordpress 幻灯制作
  • 先做个在线电影网站该怎么做新浪 sae wordpress
  • 建筑公司网站建设科技栋梁之歌
  • 亚马逊网站推广怎么做怎样免费建立自己网站
  • 奢侈品商城网站建设方案网站搭建公司哪家好
  • wordpress电商网站成都科技网站建设哪里有
  • 开州快速建网站网页设计图片是怎么显示的
  • 服装公司电商网站建设规划金华网站建设哪家好
  • 做图素材网站 千长沙网站建设公司
  • 网站建设分为哪几种类型电子商务网站建设课程设计代码
  • 网站建设字体颜色代码百度app免费下载安装
  • 淘客网站如何建设自己数据库wordpress 301重定向
  • 网站域名什么意思自己画户型图的app
  • 电子商务网站建设课程评价wordpress修改注册页面