chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS開發(fā)案例:【彈窗使用】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-25 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

本篇Codelab主要基于dialog和button組件,實現(xiàn)彈窗的幾種自定義效果,具體效果有:

  1. 警告彈窗,點擊確認(rèn)按鈕彈窗關(guān)閉。
  2. 確認(rèn)彈窗,點擊取消按鈕或確認(rèn)按鈕,觸發(fā)對應(yīng)操作。
  3. 加載彈窗,展示加載中效果。
  4. 提示彈窗,支持用戶輸入內(nèi)容,點擊取消和確認(rèn)按鈕,觸發(fā)對應(yīng)操作。
  5. 進(jìn)度條彈窗,展示進(jìn)度條以及百分比。

相關(guān)概念

  • [dialog組件]:自定義彈窗容器組件。
  • [button組件]:按鈕組件。

環(huán)境搭建

軟件要求

  • [DevEco Studio]版本:DevEco Studio 3.1 Release及以上版本。
  • OpenHarmony SDK版本:API version 9及以上版本。

硬件要求

  • 開發(fā)板類型:[潤和RK3568開發(fā)板]。
  • OpenHarmony系統(tǒng):3.2 Release及以上版本。

環(huán)境搭建

完成本篇Codelab我們首先要完成開發(fā)環(huán)境的搭建,本示例以RK3568開發(fā)板為例,參照以下步驟進(jìn)行:

  1. [獲取OpenHarmony系統(tǒng)版本]:標(biāo)準(zhǔn)系統(tǒng)解決方案(二進(jìn)制)。以3.2 Release版本為例:
  2. 搭建燒錄環(huán)境。
    1. [完成DevEco Device Tool的安裝]
    2. [完成RK3568開發(fā)板的燒錄]
  3. 搭建開發(fā)環(huán)境。
    1. 開始前請參考[工具準(zhǔn)備],完成DevEco Studio的安裝和開發(fā)環(huán)境配置。
    2. 開發(fā)環(huán)境配置完成后,請參考[使用工程向?qū)創(chuàng)建工程(模板選擇“Empty Ability”)。
    3. 工程創(chuàng)建完成后,選擇使用[真機(jī)進(jìn)行調(diào)測]。
    4. 鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

代碼結(jié)構(gòu)解讀

本篇Codelab只對核心代碼進(jìn)行講解,對于完整代碼,我們會在gitee中提供。

├──entry/src/main/js         // 代碼區(qū)
│  └──MainAbility
│     ├──common
│     │  └──images           // 圖片資源
│     ├──i18n                // 國際化中英文
│     │  ├──en-US.json			
│     │  └──zh-CN.json			
│     ├──pages
│     │  └──index
│     │     ├──index.css     // 頁面整體布局以及彈窗樣式
│     │     ├──index.hml     // 自定義彈窗展示頁面
│     │     └──index.js      // 彈窗顯示關(guān)閉邏輯以及動畫邏輯
│     └──app.js              // 程序入口
└──entry/src/main/resources  // 應(yīng)用資源目錄

`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151450.png

構(gòu)建界面

界面主要包括按鈕列表頁和自定義彈窗兩部分,我們可以通過在dialog標(biāo)簽中添加自定義組件設(shè)置彈窗,具體效果如圖所示:

首先搭建index.hml中的按鈕頁,主要包括5種常見的彈窗,分別為AlertDialog、ConfirmDialog、LoadingDialog、PromptDialog以及ProgressDialog。

< !--index.hml-- >
< div class="btn-div" >
    < button type="capsule" value="AlertDialog" class="btn" onclick="showAlert" >< /button >
    < button type="capsule" value="ConfirmDialog" class="btn" onclick="showConfirm" >< /button >
    < button type="capsule" value="LoadingDialog" class="btn" onclick="showLoading" >< /button >
    < button type="capsule" value="PromptDialog" class="btn" onclick="showPrompt" >< /button >
    < button type="capsule" value="ProgressDialog" class="btn" onclick="showProgress" >< /button >
< /div >

警告彈窗(AlertDialog)

然后在index.hml中創(chuàng)建AlertDialog自定義彈窗,效果如圖所示:

< !-- index.hml -- >
< !-- AlertDialog自定義彈窗 -- >
< dialog id="alertDialog" class="alert-dialog" >
    < div class="dialog-div" >
        < div class="alert-inner-txt" >
            < text class="txt" >AlertDialog< /text >
        < /div >
        < div class="alert-inner-btn" >
            < button class="btn-single" type="capsule" value="Confirm" onclick="confirmClick('alertDialog')" >
            < /button >
        < /div >
    < /div >
< /dialog >

確認(rèn)彈窗(ConfirmDialog)

創(chuàng)建ConfirmDialog自定義彈窗,效果如圖所示:

< !-- index.hml -- >
< !-- ConfirmDialog自定義彈窗 -- >
< dialog id="confirmDialog" class="dialog-main" >
    < div class="dialog-div" >
        < div class="inner-txt" >
            < text class="txt" >ConfirmDialog< /text >
        < /div >
        < div class="inner-btn" >
            < button type="capsule" value="Cancel" class="btn-txt-left" onclick="cancelClick('confirmDialog')" >
            < /button >
            < button type="capsule" value="Confirm" class="btn-txt-right" onclick="confirmClick('confirmDialog')" >
            < /button >
        < /div >
    < /div >
< /dialog >

加載彈窗(LoadingDialog)

創(chuàng)建LoadingDialog自定義彈窗,效果如圖所示:

< !-- index.hml -- >
< !-- LoadingDialog自定義彈窗 -- >
< dialog id="loadingDialog" class="low-height-dialog" >
    < div class="dialog-loading" >
        < text >Loading...< /text >
        < image class="loading-img img-rotate" id="loading-img" src="/common/images/ic_loading.svg" >< /image >
    < /div >
< /dialog >

提示彈窗(PromptDialog)

創(chuàng)建PromptDialog自定義彈窗,效果如圖所示:

< !-- index.hml -- >
< !-- PromptDialog自定義彈窗 -- >
< dialog id="promptDialog" class="dialog-prompt" >
    < div class="dialog-div-prompt" >
        < div class="inner-txt-prompt" >
            < text class="txt" >PromptDialog< /text >
        < /div >
        < input class="prompt-input" type="password" placeholder="please enter password" >
        < /input >
        < div class="inner-btn" >
            < button type="capsule" value="Cancel" class="btn-txt-left" onclick="cancelClick('promptDialog')" >
            < /button >
            < button type="capsule" value="Confirm" class="btn-txt-right" onclick="confirmClick('promptDialog')" >
            < /button >
        < /div >
    < /div >
< /dialog >

進(jìn)度條彈窗(ProgressDialog)

創(chuàng)建ProgressDialog自定義彈窗,效果如圖所示:

< !-- index.hml -- >
< !-- ProgressDialog自定義彈窗 -- >
< dialog id="progressDialog" class="low-height-dialog" oncancel="onCancel" >
    < div class="dialog-progress-div" >
        < div class="inner-txt-progress" >
            < text class="download-txt" >Downloading...< /text >
            < text >{{ percent + '%' }}< /text >
        < /div >
        < div class="progress-div" >
            < progress class="min-progress" type="horizontal" percent="{{ percent }}" secondarypercent="50" >
            < /progress >
        < /div >
    < /div >
< /dialog >

然后在index.js中文件實現(xiàn)不同button的點擊事件,展示對應(yīng)彈窗:

// index.js
export default {
  data: {...},

  // 展示AlertDialog
  showAlert() {
    this.$element('alertDialog').show();
  },

  // 展示ConfirmDialog
  showConfirm() {
    this.$element('confirmDialog').show();
  },

  // 展示LoadingDialog
  showLoading() {
    ...
    this.animation = this.$element('loading-img').animate(frames, options);
    this.animation.play();
    this.$element('loadingDialog').show();
  },

  // 展示PromptDialog
  showPrompt() {
    this.$element('promptDialog').show();
  },

  // 展示ProgressDialog
  showProgress() {
    ...
  }
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2141

    瀏覽量

    34961
  • OpenHarmony
    +關(guān)注

    關(guān)注

    31

    文章

    3891

    瀏覽量

    20189
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    5232
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TL3588-視頻開發(fā)案

    TL3588-視頻開發(fā)案
    的頭像 發(fā)表于 01-24 16:29 ?1015次閱讀
    TL3588-視頻<b class='flag-5'>開發(fā)案</b>例

    3568F-視頻開發(fā)案

    3568F-視頻開發(fā)案
    的頭像 發(fā)表于 04-12 13:51 ?1236次閱讀
    3568F-視頻<b class='flag-5'>開發(fā)案</b>例

    HarmonyOS開發(fā)案例:【 自定義彈窗

    基于ArkTS的聲明式開發(fā)范式實現(xiàn)了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現(xiàn)自定義彈窗
    的頭像 發(fā)表于 05-16 18:18 ?2194次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【 自定義<b class='flag-5'>彈窗</b>】

    HarmonyOS開發(fā)案例:【多種樣式彈窗

    如何使用彈窗功能,實現(xiàn)四種類型彈窗。分別是:警告彈窗、自定義彈窗、日期滑動選擇器彈窗、文本滑動選擇器彈窗
    的頭像 發(fā)表于 05-08 15:32 ?1556次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【多種樣式<b class='flag-5'>彈窗</b>】

    HarmonyOS實戰(zhàn)開發(fā)-全局彈窗封裝案例

    介紹 本示例介紹兩種彈窗的封裝案例。一種是自定義彈窗封裝成自定義組件的方式,使用一句代碼即可控制顯示;一種是使用子窗口的方式實現(xiàn)彈窗,使用一句代碼即可展示。 效果預(yù)覽圖 使用說明 進(jìn)入首頁會立馬
    發(fā)表于 05-08 15:51

    HarmonyOS IoT 硬件開發(fā)案例分享

    ``許思維老師HiSpark Wi-Fi IoT 開發(fā)案例分享:案例一:AHT20溫濕度傳感器開發(fā)、調(diào)試;案例二:oled屏驅(qū)動庫移植,調(diào)試;案例三:用OLED屏播放視頻,Wi-Fi 和 TCP/IP 綜合應(yīng)用。 ``
    發(fā)表于 10-27 17:30

    【潤和直播課預(yù)告@華為開發(fā)者學(xué)院】HarmonyOS設(shè)備開發(fā)基礎(chǔ)課程|HiSpark WiFi-IoT 智能小車套件開發(fā)案

    `【潤和直播課預(yù)告@華為開發(fā)者學(xué)院】HarmonyOS設(shè)備開發(fā)基礎(chǔ)課程|HiSparkWiFi-IoT 智能小車套件開發(fā)案例,3月18日(周四) 19:00-21:00,讓你的
    發(fā)表于 03-16 15:01

    HarmonyOS應(yīng)用開發(fā)-eTS-警告彈窗

    顯示警告彈窗組件,可設(shè)置文本內(nèi)容與響應(yīng)回調(diào)。屬性:名稱參數(shù)類型默認(rèn)值參數(shù)描述showoptions: { paramObject1| paramObject2}-定義并顯示AlertDialog組
    發(fā)表于 12-22 14:16

    HarmonyOS應(yīng)用開發(fā)-XPopup常用的彈窗體驗

    組件名:XPopup作用:內(nèi)置幾種了常用的彈窗,十幾種良好的動畫,將彈窗和動畫的自定義設(shè)計的極其簡單;目前還沒有出現(xiàn)XPopup實現(xiàn)不了的彈窗效果。 內(nèi)置彈窗允許你使用項目已有的布局,
    發(fā)表于 05-21 11:18

    OpenHarmony應(yīng)用開發(fā)之自定義彈窗

    API參考-HarmonyOS應(yīng)用開發(fā)?? CustomDialogController是自定義彈窗對應(yīng)的接口,詳細(xì)介紹如下: CustomDialogController(value
    發(fā)表于 09-06 14:40

    HarmonyOS Codelab 樣例 一彈窗基本使用

    dialog組件:自定義彈窗容器組件。 button組件:按鈕組件。 完整示例 gitee源碼地址 源碼下載 彈窗基本使用(JS).zip 二、環(huán)境搭建 我們首先需要完成HarmonyOS
    發(fā)表于 09-19 18:40

    許思維老師HarmonyOS IoT硬件開發(fā)案例分享

    許思維老師HiSpark Wi-Fi IoT 開發(fā)案例分享:案例一:AHT20溫濕度傳感器開發(fā)、調(diào)試;案例二:oled屏驅(qū)動庫移植,調(diào)試;案例三:用OLED屏播放視頻,Wi-Fi 和 TCP/IP 綜合應(yīng)用。
    發(fā)表于 10-29 10:39 ?39次下載
    許思維老師<b class='flag-5'>HarmonyOS</b> IoT硬件<b class='flag-5'>開發(fā)案</b>例分享

    華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案

    2021華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案
    的頭像 發(fā)表于 10-24 11:25 ?2281次閱讀
    華為<b class='flag-5'>開發(fā)</b>者分論壇<b class='flag-5'>HarmonyOS</b>學(xué)生公開課-OpenHarmony Codelabs<b class='flag-5'>開發(fā)案</b>例

    HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(上)

    伴隨著HarmonyOS 5.0.0 Release版本的發(fā)布,HarmonyOS官網(wǎng)文檔也帶來了不少上新內(nèi)容。本期HarmonyOS NEXT開發(fā)者資料直通車將從文檔更新角度為
    的頭像 發(fā)表于 12-30 09:50 ?1449次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)</b>指導(dǎo)類文檔更新速遞(上)

    HarmonyOS實戰(zhàn):首頁多彈窗順序彈出終極解決方案

    背景 隨著應(yīng)用軟件功能的不斷增加,應(yīng)用程序軟件首頁成為彈窗的重災(zāi)區(qū),不僅有升級彈窗,還有積分彈窗,簽到,引導(dǎo)等各種彈窗。為了徹底解彈窗問題,
    的頭像 發(fā)表于 06-09 16:47 ?537次閱讀
    <b class='flag-5'>HarmonyOS</b>實戰(zhàn):首頁多<b class='flag-5'>彈窗</b>順序彈出終極解決方案