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

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

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

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

華為推出新聲明式 UI 開發(fā)框架(ArkUI)

OpenHarmony技術社區(qū) ? 來源:HarmonyOS技術社區(qū) ? 作者:HarmonyOS技術社區(qū) ? 2022-01-04 13:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今年的 HDC 華為開發(fā)者大會 2021,華為又雙叒推出新的聲明式 UI 開發(fā)框架(ArkUI),咋說呢,學無止境啊,更新速度堪比坐火箭。

雖然沒能到發(fā)布的現(xiàn)場比較遺憾,但是這并不妨礙我們擼代碼的熱情。我也是第一時間更新 IDE,使用新的開發(fā)框架嘗試開發(fā)一款圖庫應用。

先看效果:

基本語法

新的編譯框架基于 TS,相比于之前的 JS 代碼更簡潔,將原來的 js、hml、css合并為了 *.ets 一個文件,而且更接近自然語義,學習成本很低。

基本是下面的寫法:

@裝飾器
struct組件名{
build(){
//一個根容器組件,比如:
Flex(接口){
//內(nèi)容
}.屬性

Tabs(接口){
TabContent(接口){
//內(nèi)容
}
}.屬性

List(接口){
ListItem(接口){
//內(nèi)容
}
}.屬性
}
}

詳細的內(nèi)容可以參考官方文檔:

https://developer.harmonyos.com/cn/docs/documentation/doc-references/ts-general-ui-concepts-0000001215268053

目前支持的裝飾器:

d1614852-68b8-11ec-b2e9-dac502259ad0.png

實現(xiàn)一個菜單欄

上面 2 個圖片使用了兩種不同的實現(xiàn)方式,第一種使用的是 Tabs + TabContent,現(xiàn)成的組件實現(xiàn)也比較簡單。

代碼如下:

Tabs(
{barPosition:BarPosition.End}//指定頁簽位置
){
TabContent(){
Photo()//要實現(xiàn)的內(nèi)容
}.tabBar({
icon:this.menuData[0].url,
text:this.menuData[0].text
})
......
}

不過也有點問題。第一個就是圖一中的 icon 和 text 有點小,想把尺寸調(diào)大卻發(fā)現(xiàn)各種不支持,只能是這樣默認大小,不知道是不是我設置有問題,有知道怎么操作的大佬歡迎留言指點迷津。

第二個問題,按理說 TabContent 內(nèi)容是一樣的,可以使用 ForEach+數(shù)組,但是也沒有成功。

最終 Tabs 實現(xiàn)的效果著實讓人不太滿意,所以我使用了 Flex 基本布局 + ForEach 重新實現(xiàn)了圖二中的效果。

代碼如下:

Flex({
direction:FlexDirection.Row,//主軸:橫向布局
alignItems:ItemAlign.Center,//主軸:
justifyContent:FlexAlign.SpaceEvenly
}){
ForEach(this.menuData,(item)=>{
Column(){//列方向布局容器
this.MenuItem(item.url,item.text)
}
.onClick(()=>{
console.info("memememe")
})
})
}

源數(shù)據(jù):

//State:數(shù)據(jù)變化觸發(fā)build(),實現(xiàn)UI更新
@StatemenuData:Array=[
{url:$r("app.media.0"),text:"照片"},
{url:$r("app.media.1blue"),text:"相冊"},
{url:$r("app.media.2"),text:"時刻"},
{url:$r("app.media.3"),text:"發(fā)現(xiàn)"}

菜單項:

@BuilderMenuItem(url,text){
Column(){
Image(url)
.objectFit(ImageFit.Contain)//保持長寬比縮小或放大,以便圖像完全顯示在顯示邊界內(nèi)。
.width('60%').height('60%')
Text(text)
.fontSize(14)
}
}

總體來看 Flex + ForEach 效果的實現(xiàn)更自由一些,但是點擊交互切換標簽等操作都需要手動實現(xiàn),不如組件化的 Tabs 方便,或許以后會支持把。

實現(xiàn)照片區(qū)域

首先照片區(qū)域使用了下面的數(shù)據(jù)格式:

@StatephotoData:Array=[
{
date:"昨天",
photos:[{src:$r("app.media.today1")},{src:$r("app.media.today2")},{src:$r("app.media.today3")}]
},
{
date:"2021年10月27日",
photos:[{src:$r("app.media.today4")},{src:$r("app.media.today5")},{src:$r("app.media.today6")},{
src:$r("app.media.today7")
}]
},
{
date:"2021年10月26日",
photos:[{src:$r("app.media.today8")}]
},
{
date:"2021年10月25日",
photos:[{src:$r("app.media.today9")},{src:$r("app.media.today11")}]
},
{
date:"2021年10月24日",
photos:[{src:$r("app.media.today10")}]
}
,
{
date:"2021年10月23日",
photos:[{src:$r("app.media.today1")}]
}
]

所以可以使用 ForEach 循環(huán)嵌套的方式,只需要簡單的代碼,就可以實現(xiàn)照片列表的效果。

//照片區(qū)
List(){
ForEach(this.photoData,(item)=>{
ListItem(){
Flex({direction:FlexDirection.Column}){
Text(item.date).fontSize(18).margin({top:20,left:15,bottom:5})
Flex({direction:FlexDirection.Row}){
ForEach(item.photos,(item)=>{
Image(item.src).objectFit(ImageFit.Cover).width(80).height(80).margin({right:2})
})
}
}
}
})

代碼打包上傳了,感興趣的小伙伴,可以下載源碼查看:

https://harmonyos.51cto.com/posts/9634

原文標題:在HarmonyOS上做一個相冊應用

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

審核編輯:彭菁

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

    關注

    216

    文章

    35572

    瀏覽量

    259233
  • 編譯
    +關注

    關注

    0

    文章

    682

    瀏覽量

    34763
  • 開發(fā)者
    +關注

    關注

    1

    文章

    687

    瀏覽量

    17842

原文標題:在HarmonyOS上做一個相冊應用

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙ArkUI開發(fā)學習:【渲染控制語法】

    ArkUI開發(fā)框架是一套構建 HarmonyOS / OpenHarmony 應用界面的聲明UI
    的頭像 發(fā)表于 04-09 16:40 ?1614次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b>學習:【渲染控制語法】

    HDC技術分論壇:HarmonyOS新一代UI框架的全面解讀

    作者:yuzhiqiang,UI編程框架首席技術專家在Harmony 3.0.0開發(fā)者預覽版中,包含了新一代的聲明
    發(fā)表于 10-26 18:48

    HarmonyOS應用開發(fā)-ArkUI聲明UI工程體驗與分享

    聲明UI工程體驗1. 創(chuàng)建工程說明:聲明UI工程目前僅在API7才能使用 選擇 選擇
    發(fā)表于 12-08 10:22

    課程預告丨12月15日官方直播帶你領略ArkUI聲明開發(fā)范式之美

    方舟開發(fā)框架ArkUI)的聲明開發(fā)范式有什么優(yōu)勢?Java/JS/eTS(extended
    發(fā)表于 12-10 17:52

    4天帶你上手HarmonyOS ArkUI開發(fā)

    本次HarmonyOS ArkUI入門訓練營課程--健康生活實戰(zhàn)篇,手把手教大家如何制作一個合理膳食的APP前端Demo!課程實戰(zhàn)樣例通過ArkUI聲明
    發(fā)表于 09-09 14:44

    ArkUI框架,更懂程序員的UI信息語法

    搜索了一下ArkUI有什么優(yōu)勢。發(fā)現(xiàn)很重要的一個原因:ArkUI使用了聲明UI開發(fā)
    發(fā)表于 12-14 11:23

    ArkUI,更高效的框架設計

    了一整套完整的分層機制。接下來我們依次分層為大家介紹。 ArkUI框架的“前驅(qū)”——【前端層】 前端層 架構的第一層【前端層】又稱【聲明UI
    發(fā)表于 12-21 10:26

    4天帶你上手HarmonyOS ArkUI開發(fā)——《HarmonyOS ArkUI入門訓練營之健康生活實戰(zhàn)》

    框架及組件用法,完成一款健康飲食應用的界面開發(fā),結合DevEco Studio提供的多設備預覽能力,體驗ArkUI框架帶來的一次開發(fā)多設備適
    發(fā)表于 01-05 11:49

    ArkUI新能力,助力應用開發(fā)更便捷

    ArkUI是一套構建分布應用的聲明UI開發(fā)框架。
    發(fā)表于 02-15 11:40

    OpenHarmony應用開發(fā)-ArkUI方舟開發(fā)框架簡析

    方舟開發(fā)框架(簡稱ArkUI)為OpenHarmony應用的UI開發(fā)提供了完整的基礎設施,包括簡潔的UI
    發(fā)表于 04-23 09:35

    HarmonyOS測試技術與實戰(zhàn)-華為ArkUI開發(fā)框架和場景測試

    HDC 2021華為開發(fā)者大會HarmonyOS測試技術與實戰(zhàn)-華為ArkUI開發(fā)框架和場景測試
    的頭像 發(fā)表于 10-23 15:16 ?2229次閱讀
    HarmonyOS測試技術與實戰(zhàn)-<b class='flag-5'>華為</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>框架</b>和場景測試

    全面解讀HarmonyOS新一代UI框架

    作者:yuzhiqiang,UI編程框架首席技術專家 在Harmony 3.0.0開發(fā)者預覽版中,包含了新一代的聲明
    的頭像 發(fā)表于 10-29 10:21 ?3329次閱讀
    全面解讀HarmonyOS新一代<b class='flag-5'>UI</b><b class='flag-5'>框架</b>

    ArkUI,更高效的框架設計

    看出,ArkUI的設計理念是在端到端整條技術路徑設計上建立了一整套完整的分層機制。接下來我們依次分層為大家介紹。 ArkUI框架的“前驅(qū)”——【前端層】 前端層 架構的第一層【前端層】又稱【
    的頭像 發(fā)表于 12-21 09:15 ?2159次閱讀

    ArkUI新能力,助力應用開發(fā)更便捷

    作者:niulihua,華為ArkUI技術專家;wanglei,華為ArkUI技術專家 ArkUI是一套構建分布
    的頭像 發(fā)表于 02-15 16:35 ?1213次閱讀

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發(fā)框架(簡稱ArkUI)是鴻蒙開發(fā)UI框架,提供如下兩種
    的頭像 發(fā)表于 05-13 16:06 ?1943次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b>:【從代碼到<b class='flag-5'>UI</b>顯示的整體渲染流程】