女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙ArkUI開發實戰:制作一個【簡單計數器】

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

掃碼添加小助手

加入工程師交流群

構建第一個頁面

  1. 使用文本組件
    工程同步完成后,在 Project 窗口,點擊 entry > src > main > ets > pages ,打開 Index.ets 文件,可以看到頁面由 RowColumnText 組件組成。 index.ets 文件的示例如下:

    @Entry @Component struct Index {
    
      @State message: string = 'Hello World'
    
      build() {
        Row() {
          Column() {
            Text(this.message)
              .fontSize(50)
              .fontWeight(FontWeight.Bold)
          }
          .width('100%')
        }
        .height('100%')
      }
    }
    

    @Entry 修飾符表示一個頁面的入口,它需要在 main_pages.json 配置才可以在設備上正常顯示, @Component 修飾符表示 Index 是一個組件, @State 是一個狀態標識符,當它修飾的變量值改變時ArkUI開發框架會調用 build() 方法進行頁面的刷新。

  2. 添加按鈕
    在默認頁面基礎上,我們添加一個 Button 組件,作為按鈕接受用戶點擊的動作,從而實現計數器自增操作。 " index.ets " 文件的示例如下:

    @Entry @Component struct Index {
    
      @State count: number = 0;                      // 狀態數據
    
      build() {
        Stack({alignContent: Alignment.BottomEnd}) { // 堆疊式布局
          Text(this.count.toString())                // 顯示文本
            .fontSize(50)                            // 文字大小
            .margin(50)                              // 外邊距
            .size({width: '100%', height: '100%'})   // 控件大小
    
          Button('+')                                // 顯示一個+按鈕
            .size({width: 80, height: 80})           // 按鈕大小
            .fontSize(50)                            // 按鈕文字大小
            .onClick(() = > {                         // 按鈕點擊事件
              this.count++;                          // count累加,觸發build()方法回調
            })
            .margin(50)
        }
        .width('100%')
        .height('100%')
      }
    }
    
  3. 打開預覽器
    在編輯窗口右上角的側邊工具欄,點擊 Previewer ,然后點擊頁面加號按鈕,頁面運行效果如下圖所示:
    2_1_3_1
    學習文檔參考:[docs.qq.com/doc/DUmN4VVhBd3NxdExK]

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

根據運行截圖,我們點擊了加號按鈕,觸發按鈕的 onClick 事件回調,由于在回調里執行了 count++ 操作導致了 count 的值發生了改變,又因為 count 被 @State 修飾符修飾,所以ArkUI開發框架就會重新調用 build() 方法更新各組件的屬性值, Text 組件會更新 count 的值,然后頁面刷新,計數器的功能就實現了。

頁面的構建流程

讀者可能會對上述示例的頁面刷新過程感興趣,筆者簡單介紹一下,上述示例的頁面刷新過程可以分為兩個過程,一個是頁面渲染完畢沒有點擊按鈕過程,另一個是點擊點擊按鈕后頁面數據變化過程,筆者分別介紹一下這兩個過程:

  1. 頁面初次顯示過程
    ①、index.ets 源代碼通過編譯工具鏈編譯為帶有類型標志的目標文件,同時也包含了如何創建UI結構信息的指令流。
    ②、通過跨語言調用并生成了 C++ 層面的 Component 樹(UI描述層)。
    ③、通過 Component 樹進一步生成 Element 樹。 Element 是 Component 的實例,表示一個具體的組件節點,它形成的 Element 樹負責維持界面在整個運行時的樹形結構,方便計算更新時的局部更新算法等。
    ④、對于每個可顯示的 Element 都會為其創建對應的 RenderNode 。 RenderNode 負責一個節點的顯示信息,它形成的 Render 樹維護著整個界面渲染需要用到的信息,包括位置、大小、繪制命令等。后續的布局、繪制都是在 Render 樹上進行的。
    ⑤、實現真正的渲染并顯示繪制結果。
  2. 點擊按鈕顯示過程
    ⑥、點擊屏幕,事件傳遞到組件上,組件的 onClick 事件方法被觸發執行。
    ⑦、由于 onClick 事件方法中 @State 修飾的變量值改變了,相應的 getter / setting 函數會被觸發。
    ⑧、狀態管理模塊定位出與之關聯的UI組件。
    ⑨、狀態管理模塊更新相應的 Element 樹的信息。
    ⑩、狀態管理模塊更新相應的 RenderNode 樹的渲染信息。
    ?、刷新界面并顯示繪制結果。

以上頁面整體構建流程如下圖所示:

2_1_4

小結

通過簡單計數器示例,讀者先了解一下 OpenHarmony 應用的組件、頁面布局,點擊事件以及 @State 修飾符的作用,最后給簡單介紹了一下 OpenHarmony 的頁面構建流程。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計數器
    +關注

    關注

    32

    文章

    2291

    瀏覽量

    96487
  • 鴻蒙
    +關注

    關注

    60

    文章

    2631

    瀏覽量

    44122
  • OpenHarmony
    +關注

    關注

    30

    文章

    3856

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙5開發寶藏案例分享---一多開發實例(音樂)

    各位開發者小伙伴們好呀!今天咱們來點硬核干貨!最近在鴻蒙文檔中心挖到座“金礦”——官方竟然暗藏了100+實戰案例,從分布式架構到交互動效優化應有盡有!這些案例不僅藏著華為工程師的私房
    的頭像 發表于 06-30 11:54 ?366次閱讀

    鴻蒙5開發寶藏案例分享---性能體驗設計

    ?** 鴻蒙性能優化寶藏指南:讓你的應用絲滑如飛!** 大家好呀!最近在HarmonyOS文檔里挖到性能優化的\"黃金礦脈\"——官方其實藏了超多流暢性設計的實戰案例!但很多
    發表于 06-12 16:45

    智能雷擊計數器的綜合行業解決方案

    智能雷擊計數器種用于記錄雷擊事件發生次數的高科技裝置,廣泛應用于防雷系統中。與傳統的機械式雷擊計數器相比,智能雷擊計數器不僅能夠精確記錄雷擊次數,還能對雷電參數進行分析,并通過智
    的頭像 發表于 12-20 10:50 ?513次閱讀
    智能雷擊<b class='flag-5'>計數器</b>的綜合行業解決方案

    鴻蒙原生開發手記:01-元服務開發

    簡介 元服務是鴻蒙中的種輕量應用形態,無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。 元服務使用原生開發,是系統級提供的,無論從易用性、性能、體驗上,都要比小程序好
    發表于 11-14 17:28

    鴻蒙Flutter實戰:10-常見問題集合

    # 鴻蒙Flutter實戰:10-常見問題集合 ## 1. 學習路徑應該是怎樣的,需要掌握哪些技術才具備鴻蒙 Flutter 開發能力 1.1 學習和掌握 Flutter
    發表于 10-23 17:05

    鴻蒙Flutter實戰:08-如何調試代碼

    # 鴻蒙Flutter實戰:如何調試代碼 ## 1.環境搭建 參考文章[鴻蒙Flutter實戰:01-搭建開發環境](https://g
    發表于 10-23 16:29

    鴻蒙Flutter實戰:07混合開發

    # 鴻蒙Flutter實戰:混合開發 鴻蒙Flutter混合開發主要有兩種形式。 ## 1.基于har 將flutter module
    發表于 10-23 16:00

    雷擊計數器的概述與應用分析

    雷擊計數器種用于監測和記錄電力系統、通信系統、建筑物等關鍵設施遭受雷擊次數的設備。它能夠有效地幫助管理人員掌握雷電活動的情況,以便進行預防性維護和風險評估。雷擊計數器根據工作原理可以分為無源
    的頭像 發表于 10-21 10:31 ?830次閱讀
    雷擊<b class='flag-5'>計數器</b>的概述與應用分析

    74ls163是幾進制同步計數器

    74LS163 是十進制同步計數器,它是集成電路(IC),用于數字電路中進行計數操作。它
    的頭像 發表于 10-18 13:54 ?3018次閱讀

    激光塵埃粒子計數器如何使用能測出準確的數據

    激光塵埃粒子計數器如何使用能測出準確的數據
    的頭像 發表于 09-30 10:04 ?744次閱讀
    激光塵埃粒子<b class='flag-5'>計數器</b>如何使用能測出準確的數據

    臺式塵埃粒子計數器的功能優勢與應用

    質量濃度并輸出。臺式塵埃粒子計數器能同時對設定的六粒徑通道進行檢測,用戶可自行設定采樣時間、采樣間隔和采樣次數等參數。 二、臺式塵埃粒子計數器的特點 臺式塵埃粒子計數器帶有溫濕度和大
    的頭像 發表于 09-14 16:41 ?843次閱讀

    基于ArkTS語言的OpenHarmony APP應用開發:簡易計數器

    1、程序簡介 該程序是基于OpenHarmony標準系統編寫的UI應用類:Sample Counter(簡單計數器)。 該程序設計1按鈕和顯示框。當每次按下按鈕,則顯示框數字累加1。 本案
    發表于 09-14 13:38

    智能防雷計數器行業應用解決方案

    。智能防雷計數器不僅僅用于簡單的雷擊次數統計,還具備多項智能化功能,成為防雷工程中不可或缺的重要設備。 地凱科技 將詳細探討智能防雷計數器的工作原理、參數和指標,并結合具體的行業應用提供解決方案。
    的頭像 發表于 09-12 10:46 ?687次閱讀
    智能防雷<b class='flag-5'>計數器</b>行業應用解決方案

    正交解碼計數器

    正交解碼計數器
    發表于 09-06 11:41 ?0次下載

    計數器的特點和參數

    計數器作為種常用的電子元件,在電子設備和系統中扮演著至關重要的角色。它們不僅用于存儲和增減數字值,還廣泛應用于時序和頻率測量、事件計數、控制步進電機和伺服系統、錯誤檢測和糾正以及計算機數據存儲和操作等領域。以下將詳細闡述
    的頭像 發表于 08-29 14:54 ?3240次閱讀