在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

OpenHarmony技術(shù)社區(qū) ? 來源:OST開源開發(fā)者 ? 2023-06-18 15:12 ? 次閱讀

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

創(chuàng)建項(xiàng)目

打開我們的 DevEco Studio,進(jìn)入以下界面:

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

點(diǎn)擊 Create Project,進(jìn)行創(chuàng)建:

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

這里幫我們默認(rèn)選好第一個(gè)了,我們直接點(diǎn) Next 就可以進(jìn)入下一步完成創(chuàng)建。

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

這樣我們的新的項(xiàng)目就創(chuàng)建完成了:

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

這樣,我們的項(xiàng)目就創(chuàng)建好了。

基本語法概述

當(dāng)我們打開這個(gè) hello world 的時(shí)候,是不是整個(gè)人都有些懵?不知道從哪里下手了是不是呀?

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

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

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

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

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

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

系統(tǒng)組件:ArkUI 框架中默認(rèn)內(nèi)置的基礎(chǔ)和容器組件,可直接被開發(fā)者調(diào)用,比如示例中的 Column、Text、Divider、Button。

屬性方法:組件可以通過鏈?zhǔn)秸{(diào)用配置多項(xiàng)屬性,如 fontSize()、width()、height()、backgroundColor() 等。

事件方法:組件可以通過鏈?zhǔn)秸{(diào)用設(shè)置多個(gè)事件的響應(yīng)邏輯,如跟隨在Button后面的 onClick()。

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

@Entry
@Component
structIndex{
//放你寫的數(shù)據(jù)

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

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

布局

下面的內(nèi)容有些復(fù)雜,新手看不懂可以暫時(shí)只看線性布局,這個(gè)是我們最常用的一種布局方式。

①線性布局(Row、Column)

線性布局(Row、Column):如果布局內(nèi)子元素為復(fù)數(shù)個(gè),且能夠以某種方式線性排列時(shí)優(yōu)先考慮此布局。

②層疊布局(Stack)

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

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

③彈性布局(Flex)

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

在子組件需要計(jì)算拉伸或壓縮比例時(shí)優(yōu)先使用此布局,可使得多個(gè)容器內(nèi)子組件能有更好的視覺上的填充容器效果。

④相對布局(RelativeContainer)

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

通過在子組件上設(shè)置錨點(diǎn)規(guī)則(AlignRules)使子組件能夠?qū)⒆约涸跈M軸、縱軸中的位置與容器或容器內(nèi)其他子組件的位置對齊。

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

⑤柵格布局(GridRow、GridCol)

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

柵格不同于網(wǎng)格布局固定的空間劃分,可以實(shí)現(xiàn)不同設(shè)備下不同的布局,空間劃分更隨心所欲,從而顯著降低適配不同屏幕尺寸的設(shè)計(jì)及開發(fā)成本,使得整體設(shè)計(jì)和開發(fā)流程更有秩序和節(jié)奏感,同時(shí)也保證多設(shè)備上應(yīng)用顯示的協(xié)調(diào)性和一致性,提升用戶體驗(yàn)。推薦內(nèi)容相同但布局不同時(shí)使用。

⑥媒體查詢(@ohos.mediaquery)

媒體查詢(@ohos.mediaquery):媒體查詢可根據(jù)不同設(shè)備類型或同設(shè)備不同狀態(tài)修改應(yīng)用的樣式。例如根據(jù)設(shè)備和應(yīng)用的不同屬性信息設(shè)計(jì)不同的布局,以及屏幕發(fā)生動態(tài)改變時(shí)更新應(yīng)用的頁面布局。

⑦列表(List)

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

⑧網(wǎng)格(Grid)

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

網(wǎng)格布局可以控制元素所占的網(wǎng)格數(shù)量、設(shè)置子組件橫跨幾行或者幾列,當(dāng)網(wǎng)格容器尺寸發(fā)生變化時(shí),所有子組件以及間距等比例調(diào)整。

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

⑨輪播(Swiper)

輪播(Swiper):輪播組件通常用于實(shí)現(xiàn)廣告輪播、圖片預(yù)覽、可滾動應(yīng)用等。

使用如下:

暫時(shí)看不懂也沒關(guān)系,我們暫時(shí)只看用的最多的線性布局

線性布局分為兩種:

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

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

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

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

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

組件

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

按鈕

單選框

切換按鈕

進(jìn)度條

文本顯示

文本輸入

自定義彈窗

視頻播放

XComponent

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

①組件格式

組件的格式基本上都是這個(gè)樣子:

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

②文本組件使用

這個(gè)我們點(diǎn)右邊的這個(gè)小眼睛可以預(yù)覽效果:

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

也就是這個(gè)樣子:

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

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

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

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

③按鈕組件使用

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

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

}

例如我用來演示的這個(gè):

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

點(diǎn)擊按鈕后,message 的內(nèi)容就會發(fā)生變化,點(diǎn)擊按鈕后的效果如下:

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

我們今天的內(nèi)容就到這里。





審核編輯:劉清

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

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30194

原文標(biāo)題:HarmonyOS開發(fā):ArkTS入門

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ArkTS開發(fā)指南優(yōu)化上新

    ArkTS是HarmonyOS應(yīng)用開發(fā)的官方高級語言,提供了聲明式UI范式、狀態(tài)管理、渲染控制等相應(yīng)能力,讓開發(fā)者能夠以更簡潔、更自然的方式開發(fā)應(yīng)用。
    的頭像 發(fā)表于 11-20 14:14 ?281次閱讀
    <b class='flag-5'>ArkTS</b>開發(fā)<b class='flag-5'>指南</b>優(yōu)化上新

    WinCC 7.5入門指南

    WinCC 7.5入門指南
    發(fā)表于 10-21 10:37 ?4次下載

    通俗易懂的理解,什么是芯片?

    我們在日常工作和生活中,經(jīng)常會使用到各種各樣的電子或電器產(chǎn)品,例如電腦、手機(jī)、電視、冰箱、洗衣機(jī)等。 這些產(chǎn)品,如果我們把它拆開,都會看到類似下面這樣的一塊綠色板子。 大家都知道,這個(gè)綠色板子,叫做電路板。更官方一點(diǎn)的名稱,叫印制電路板,也就是PCB(Printed Circuit Board,國外有時(shí)候也叫PWB,Printed Wire Board)。 在PCB上,焊接了很多的電子元器件,例如電容、電阻、電感等。 我們還可以看到,有一些黑色的方形元件。 沒錯(cuò),這個(gè)
    的頭像 發(fā)表于 08-22 13:32 ?3.2w次閱讀
    <b class='flag-5'>通俗易懂</b>的理解,什么是芯片?

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 俯瞰全書

    上周收到《大語言模型應(yīng)用指南》一書,非常高興,但工作項(xiàng)目繁忙,今天才品鑒體驗(yàn),感謝作者編寫了一部內(nèi)容豐富、理論應(yīng)用相結(jié)合、印刷精美的著作,也感謝電子發(fā)燒友論壇提供了一個(gè)讓我了解大語言模型和機(jī)器學(xué)習(xí)
    發(fā)表于 07-21 13:35

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

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

    HyperLynx入門指南

    HyperLynx入門指南
    發(fā)表于 05-06 10:17 ?4次下載

    發(fā)酵罐攪拌器軸磨損修復(fù)方法

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

    真的通俗易懂!差分信號電路的解讀

    一、什么是差分運(yùn)放電路差分電路是具有對共模信號抑制,對差模信號放大特征的電路。該電路的兩個(gè)信號輸信號的差值是該電路的有效值。將這兩信號輸入只差進(jìn)行放大后輸出。如果存在干擾信號,會對兩個(gè)輸入信號產(chǎn)生相同的干擾,通過二者之差,干擾信號的有效輸入為零,這就達(dá)到了抗共模干擾的目的。對于運(yùn)算放大電路來說,運(yùn)放工作在線性區(qū),所以電路一定是負(fù)反饋電路。運(yùn)放的基本分析方法就
    的頭像 發(fā)表于 04-24 08:10 ?6973次閱讀
    真的<b class='flag-5'>通俗易懂</b>!差分信號電路的解讀

    鴻蒙OS開發(fā)實(shí)戰(zhàn):【ArkTS 實(shí)現(xiàn)MQTT協(xié)議(2)】

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

    ArkTS語言基礎(chǔ)類庫-解析

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

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

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

    鴻蒙開發(fā)之ArkTS基礎(chǔ)知識

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

    鴻蒙入門實(shí)戰(zhàn)-ArkTS開發(fā)

    聲明式UI基本概念 應(yīng)用界面是由一個(gè)個(gè)頁面組成,ArkTS是由ArkUI框架提供,用于以聲明式開發(fā)范式開發(fā)界面的語言。 聲明式UI構(gòu)建頁面的過程,其實(shí)是組合組件的過程,聲明式UI的思想,主要體現(xiàn)在
    發(fā)表于 01-16 17:27

    鴻蒙ArkTS的起源和簡介

    等豐富的應(yīng)用開發(fā)能力,共同組成了相關(guān)的演進(jìn)脈絡(luò)。 ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言。它在TypeScript(簡稱TS)的基礎(chǔ)上,擴(kuò)展了聲明式UI、狀態(tài)管理等相應(yīng)的能力,讓開
    發(fā)表于 01-16 16:23

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

    在低頻的電振蕩中,磁電之間的相互變化比較緩慢,其能量幾乎全部返回原電路而沒有能量輻射出去; 在高頻率的電振蕩中,磁電互變甚快,能量不可能全部返回原振蕩電路。
    發(fā)表于 01-02 10:57 ?978次閱讀
    如何<b class='flag-5'>通俗易懂</b>理解射頻微波
    主站蜘蛛池模板: 亚洲男人a天堂在线2184| 一本到卡二卡三卡视频| 性欧美zoz0另类xxxx| 久久青草国产精品一区| 人人干免费| 男女互插小说| 毛片在线网站| 免费无毒片在线观看| 国语自产免费精品视频一区二区| 欧美午夜小视频| 天堂8中文在线最新版在线| 亚洲精品国产自在久久出水| 日本成人免费观看| 特黄十八岁大片| 自拍偷自拍亚洲精品被多人伦好爽| 美女露出尿囗| 国产骚b| 亚洲国产婷婷香蕉久久久久久| 国产资源站| 欧美性xxxx交| 日本网络视频www色高清免费| 天天爽夜爽免费精品视频| 美女用手扒开尿口给男生桶爽| 久久在精品线影院精品国产| 国产在线操| 特级毛片网站| 五月天婷婷在线播放| 国产激情三级| 磁力bt种子搜索在线| 在线亚洲免费| 久久美女免费视频| 1000又爽又黄禁片| 欧洲成品大片在线播放| 久久人人网| 色婷婷亚洲| 欧美超级碰碰| 四虎永久在线精品国产| 手机看片1024日韩| 性色综合| 手机看片福利盒子久久青| 亚欧色|