<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

最通俗易懂的ArkTS語言入門指南

OpenHarmony技術社區 ? 來源:OST開源開發者 ? 2023-06-18 15:12 ? 次閱讀

本文為我整理出來最通俗易懂的 ArkTS 語言入門指南。

創建項目

打開我們的 DevEco Studio,進入以下界面:

88b5753a-0da6-11ee-962d-dac502259ad0.png

點擊 Create Project,進行創建:

88bd5188-0da6-11ee-962d-dac502259ad0.png

這里幫我們默認選好第一個了,我們直接點 Next 就可以進入下一步完成創建。

88c49308-0da6-11ee-962d-dac502259ad0.png

這樣我們的新的項目就創建完成了:

88d0b606-0da6-11ee-962d-dac502259ad0.png

這樣,我們的項目就創建好了。

基本語法概述

當我們打開這個 hello world 的時候,是不是整個人都有些懵?不知道從哪里下手了是不是呀?

不要緊,咱們來把它分解開來:

88de14f4-0da6-11ee-962d-dac502259ad0.png

就可以把他們拆成這幾個部分了,如果看不懂可以暫時忽略下面冒號后面的內容:

裝飾器:用于裝飾類、結構、方法以及變量,并賦予其特殊的含義。如上述示例中 @Entry、@Component 和 @State 都是裝飾器,@Component 表示自定義組件,@Entry 表示該自定義組件為入口組件,@State 表示組件中的狀態變量,狀態變量變化會觸發 UI 刷新。

UI 描述:以聲明式的方式來描述 UI 的結構,例如 build() 方法中的代碼塊。

自定義組件:可復用的 UI 單元,可組合其他組件,如上述被 @Component 裝飾的 struct Hello。

系統組件:ArkUI 框架中默認內置的基礎和容器組件,可直接被開發者調用,比如示例中的 Column、Text、Divider、Button。

屬性方法:組件可以通過鏈式調用配置多項屬性,如 fontSize()、width()、height()、backgroundColor() 等。

事件方法:組件可以通過鏈式調用設置多個事件的響應邏輯,如跟隨在Button后面的 onClick()。

解釋這些東西一大堆,對新手來說,理解有那么一點不容易,只要記住這個大概的格式,就像這個樣子。

@Entry
@Component
structIndex{
//放你寫的數據

build(){
//放你寫的頁面代碼

}
}
你所需要寫的東西就可以直接往里面填了。

布局

下面的內容有些復雜,新手看不懂可以暫時只看線性布局,這個是我們最常用的一種布局方式。

①線性布局(Row、Column)

線性布局(Row、Column):如果布局內子元素為復數個,且能夠以某種方式線性排列時優先考慮此布局。

②層疊布局(Stack)

層疊布局(Stack):組件需要有堆疊效果時優先考慮此布局,層疊布局的堆疊效果不會占用或影響其他同容器內子組件的布局空間。

例如 Panel 作為子組件彈出時將其他組件覆蓋更為合理,則優先考慮在外層使用堆疊布局。

③彈性布局(Flex)

彈性布局(Flex):彈性布局是與線性布局類似的布局方式。區別在于彈性布局默認能夠使子組件壓縮或拉伸。

在子組件需要計算拉伸或壓縮比例時優先使用此布局,可使得多個容器內子組件能有更好的視覺上的填充容器效果。

④相對布局(RelativeContainer)

相對布局(RelativeContainer):相對布局是在二維空間中的布局方式,不需要遵循線性布局的規則,布局方式更為自由。

通過在子組件上設置錨點規則(AlignRules)使子組件能夠將自己在橫軸、縱軸中的位置與容器或容器內其他子組件的位置對齊。

設置的錨點規則可以天然支持子元素壓縮、拉伸,堆疊或形成多行效果。在頁面元素分布復雜或通過線性布局會使容器嵌套層數過深時推薦使用。

⑤柵格布局(GridRow、GridCol)

柵格布局(GridRow、GridCol):柵格是多設備場景下通用的輔助定位工具,通過將空間分割為有規律的柵格。

柵格不同于網格布局固定的空間劃分,可以實現不同設備下不同的布局,空間劃分更隨心所欲,從而顯著降低適配不同屏幕尺寸的設計及開發成本,使得整體設計和開發流程更有秩序和節奏感,同時也保證多設備上應用顯示的協調性和一致性,提升用戶體驗。推薦內容相同但布局不同時使用。

⑥媒體查詢(@ohos.mediaquery)

媒體查詢(@ohos.mediaquery):媒體查詢可根據不同設備類型或同設備不同狀態修改應用的樣式。例如根據設備和應用的不同屬性信息設計不同的布局,以及屏幕發生動態改變時更新應用的頁面布局。

⑦列表(List)

列表(List):使用列表可以輕松高效地顯示結構化、可滾動的信息。在 ArkUI 中,列表具有垂直和水平布局能力和自適應交叉軸方向上排列個數的布局能力,超出屏幕時可以滾動。列表適合用于呈現同類數據類型或數據類型集,例如圖片和文本。

⑧網格(Grid)

網格(Grid):網格布局具有較強的頁面均分能力,子組件占比控制能力,是一種重要自適應布局。

網格布局可以控制元素所占的網格數量、設置子組件橫跨幾行或者幾列,當網格容器尺寸發生變化時,所有子組件以及間距等比例調整。

推薦在需要按照固定比例或者均勻分配空間的布局場景下使用,例如計算器、相冊、日歷等。

⑨輪播(Swiper)

輪播(Swiper):輪播組件通常用于實現廣告輪播、圖片預覽、可滾動應用等。

使用如下:

暫時看不懂也沒關系,我們暫時只看用的最多的線性布局

線性布局分為兩種:

一種是豎直方向的線性布局 Column

另一種是水平方向的線性布局 Row

88ec708a-0da6-11ee-962d-dac502259ad0.png

我們把他們加入我們寫的代碼中:

@Entry
@ComponentstructIndex{
//放你寫的數據
build(){
Row(){
Column(){
//放你寫的組件
}
}
}
}
這樣頁面布局就寫好了,下面我們要開始在頁面布局中寫組件了。

組件

下面我們就在我們的頁面中添加組件。 常見的組件有:

按鈕

單選框

切換按鈕

進度條

文本顯示

文本輸入

自定義彈窗

視頻播放

XComponent

今天我們先來看一下按鈕和文本顯示。

①組件格式

組件的格式基本上都是這個樣子:

88f56e38-0da6-11ee-962d-dac502259ad0.png

②文本組件使用

這個我們點右邊的這個小眼睛可以預覽效果:

8901831c-0da6-11ee-962d-dac502259ad0.png

也就是這個樣子:

890d6af6-0da6-11ee-962d-dac502259ad0.png

同樣的,我們在線性布局的下面加上修飾的東西,可以讓這個文字顯示在屏幕中央。

8916a166-0da6-11ee-962d-dac502259ad0.png

.width('100%') 是讓垂直布局的寬度占據整個屏幕的寬度,讓文本位于左右居中。 同理 .height('100%') 是讓水平布局的高度占據整個屏幕的高度,讓文本上下居中。

③按鈕組件使用

然后我們可以增加一個按鈕 Bottom 組件:

@Entry
@Component
structIndex{
@Statemessage:string='HelloWorld‘
build(){
Row(){
Column(){
//文本組件
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
//按鈕組件
Button('按鈕中的內容')
.onClick(()=>{//點擊
//點擊按鈕后發生的事情
})
}
.width('100%')
}
.height('100%')
}

}

例如我用來演示的這個:

89218de2-0da6-11ee-962d-dac502259ad0.png

點擊按鈕后,message 的內容就會發生變化,點擊按鈕后的效果如下:

892bd23e-0da6-11ee-962d-dac502259ad0.png

我們今天的內容就到這里。





審核編輯:劉清

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

    關注

    79

    文章

    1874

    瀏覽量

    29334

原文標題:HarmonyOS開發:ArkTS入門

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》2.0

    讀者更好地把握大語言模型的應用場景和潛在價值。盡管涉及復雜的技術內容,作者盡力以通俗易懂語言解釋概念,使得非專業背景的讀者也能夠跟上節奏。圖表和示例的運用進一步增強了書籍的可讀性。本書適合對人工智能
    發表于 05-07 10:30

    發酵罐攪拌器軸磨損修復方法

    這樣修復發酵罐攪拌器軸磨損通俗易懂
    發表于 04-24 18:43 ?0次下載

    鴻蒙OS開發實戰:【ArkTS 實現MQTT協議(2)】

    1. 協議傳輸通道僅為TCPSocket 2. 基于HarmonyOS SDK API 9開發 3. 開發語言ArkTS,TypeScript
    的頭像 發表于 04-01 14:48 ?719次閱讀
    鴻蒙OS開發實戰:【<b class='flag-5'>ArkTS</b> 實現MQTT協議(2)】

    ArkTS語言基礎類庫-解析

    ArkTS語言基礎類庫是HarmonyOS系統上為應用開發者提供的常用基礎能力,主要包含能力如下圖所示。 圖1 ArkTS語言基礎類庫能力示意圖 提供[異步并發和多線程并發]的能力。
    發表于 02-20 16:44

    鴻蒙語言ArkTS(更好的生產力與性能)

    ArkTS是鴻蒙生態的應用開發語言 ArkTS提供了聲明式UI范式、狀態管理支持等相應的能力,讓開發者可以以更簡潔、更自然的方式開發應用。 同時,它在保持TypeScript(簡稱TS)基本語法
    發表于 02-17 15:56

    鴻蒙開發之ArkTS基礎知識

    一、ArkTS簡介 ArkTS是HarmonyOS優選的主力應用開發語言。它在TypeScript(簡稱TS)的基礎上,匹配了鴻蒙的ArkUI框架,擴展了聲明式UI、狀態管理等相應的能力,讓開
    的頭像 發表于 01-24 16:44 ?690次閱讀
    鴻蒙開發之<b class='flag-5'>ArkTS</b>基礎知識

    如何通俗易懂理解射頻微波

    在低頻的電振蕩中,磁電之間的相互變化比較緩慢,其能量幾乎全部返回原電路而沒有能量輻射出去; 在高頻率的電振蕩中,磁電互變甚快,能量不可能全部返回原振蕩電路。
    發表于 01-02 10:57 ?184次閱讀
    如何<b class='flag-5'>通俗易懂</b>理解射頻微波

    如何通俗易懂地解釋卷積?

    在本問題 如何通俗易懂地解釋卷積?中排名第一的馬同學在中舉了一個很好的例子(下面的一些圖摘自馬同學的文章,在此表示感謝),用丟骰子說明了卷積的應用。
    發表于 12-26 17:36 ?165次閱讀
    如何<b class='flag-5'>通俗易懂</b>地解釋卷積?

    通俗易懂的PCB爆板原因以及玻璃轉換溫度

    【科普】通俗易懂的PCB爆板原因以及玻璃轉換溫度
    的頭像 發表于 11-24 16:01 ?455次閱讀
    <b class='flag-5'>通俗易懂</b>的PCB爆板原因以及玻璃轉換溫度

    FFT原理通俗易懂的解釋

    FFT原理通俗易懂的解釋? 傅里葉變換(Fourier Transform,簡稱FFT)是一個廣泛應用的數學工具,它可以將一個連續或離散信號分解成一系列單一的正弦函數,這些正弦函數名稱為頻率成分
    的頭像 發表于 09-07 16:35 ?1766次閱讀

    通俗易懂講講通信原理 通信系統的原理和應用

    學了《通信原理》這門課,一開始覺得很難,這里用我自己的學習過程以及對通信系統的了解來說明這些技術的應用。
    的頭像 發表于 07-18 11:18 ?1679次閱讀
    <b class='flag-5'>通俗易懂</b>講講通信原理 通信系統的原理和應用

    HarmonyOS優選主力應用開發語言-ArkTS概述

    ArkTS是HarmonyOS優選的主力應用開發語言。ArkTS圍繞應用開發在TypeScript(簡稱TS)生態基礎上做了進一步擴展,繼承了TS的所有特性,是TS的超集。因此,在學習ArkT
    發表于 06-09 10:52

    HarmonyOS/OpenHarmony應用開發-ArkTS語言基本語法說明

    的封裝和復用UI描述。 @Extend/@Style:擴展內置組件和封裝屬性樣式,更靈活地組合內置組件。 stateStyles:多態樣式,可以依據組件的內部狀態的不同,設置不同樣式。*附件:HarmonyOSOpenHarmony應用開發-ArkTS語言基本語法說明.d
    發表于 06-01 10:25

    什么是DFM可制造性分析?

    可能有人都不知道這個崗位,那我換個通俗易懂的解釋。
    的頭像 發表于 05-31 10:25 ?1762次閱讀
    什么是DFM可制造性分析?

    圖說卡爾曼濾波 一份通俗易懂的教程

    卡爾曼濾波(Kalman filter)是一種高效的自回歸濾波器,它能在存在諸多不確定性情況的組合信息中估計動態系統的狀態,是一種強大的、通用性極強的工具。它的提出者,魯道夫.E.卡爾曼,在一次訪問NASA埃姆斯研究中心時,發現這種方法能幫助解決阿波羅計劃的軌道預測問題,后來NASA在阿波羅飛船的導航系統中確實也用到了這個濾波器。最終,飛船正確駛向月球,完成了人類歷史上的第一次登月。
    發表于 05-18 10:24 ?0次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>