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

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

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

3天內不再提示

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

OpenHarmony技術社區 ? 來源:HarmonyOS技術社區 ? 作者:HarmonyOS技術社區 ? 2022-01-04 13:39 ? 次閱讀

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

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

先看效果:

基本語法

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

基本是下面的寫法:

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

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

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

詳細的內容可以參考官方文檔:

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

目前支持的裝飾器:

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

實現一個菜單欄

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

代碼如下:

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

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

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

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

代碼如下:

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")
})
})
}

源數據:

//State:數據變化觸發build(),實現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:"發現"}

菜單項:

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

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

實現照片區域

首先照片區域使用了下面的數據格式:

@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 循環嵌套的方式,只需要簡單的代碼,就可以實現照片列表的效果。

//照片區
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技術社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

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

    關注

    216

    文章

    34435

    瀏覽量

    251723
  • 編譯
    +關注

    關注

    0

    文章

    657

    瀏覽量

    32870
  • 開發者
    +關注

    關注

    1

    文章

    575

    瀏覽量

    17009

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

    作者:yuzhiqiang,UI編程框架首席技術專家在Harmony 3.0.0開發者預覽版中,包含了新一代的聲明
    發表于 11-22 16:51

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

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

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

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

    4天帶你上手HarmonyOS ArkUI開發

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

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

    搜索了一下ArkUI有什么優勢。發現很重要的一個原因:ArkUI使用了聲明UI開發
    發表于 12-14 11:23

    ArkUI,更高效的框架設計

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

    4天帶你上手HarmonyOS ArkUI開發——《HarmonyOS ArkUI入門訓練營之健康生活實戰》

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

    ArkUI新能力,助力應用開發更便捷

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

    OpenHarmony應用開發-ArkUI方舟開發框架簡析

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

    HarmonyOS測試技術與實戰-華為ArkUI開發框架和場景測試

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

    全面解讀HarmonyOS新一代UI框架

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

    ArkUI,更高效的框架設計

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

    ArkUI新能力,助力應用開發更便捷

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

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

    方舟開發框架(簡稱ArkUI)是鴻蒙開發UI框架,提供如下兩種
    的頭像 發表于 05-13 16:06 ?922次閱讀
    鴻蒙<b class='flag-5'>ArkUI</b>:【從代碼到<b class='flag-5'>UI</b>顯示的整體渲染流程】
    主站蜘蛛池模板: 日本三级精品| 成年在线视频| 久久精品女人天堂| 成熟妇女毛耸耸性视频| 午夜网站在线观看| 九九黄色网| 又粗又大又爽又色又过瘾视频| 国产精品丝袜| 色激情综合| 亚洲成a人v在线观看| 日本a级片在线播放| 国产网站免费观看| 天天爽夜夜爽人人爽曰喷水| 国产色综合天天综合网| 亚洲女同一区二区| 天堂亚洲网| 韩国视频在线播放| 手机看片国产免费现在观看| 男人操女人的网站| 性生i活一级一片| www.xxx.日本| 777奇米四色米奇影院在线播放| 高清视频一区二区| 狠狠色狠狠色综合日日32| 天天射天天干天天操| 日韩综合nv一区二区在线观看| 直接看的黄色网址| 免费的黄色大片| 天天干天天色天天射| 不卡视频一区二区三区| 欧美日韩性猛交xxxxx免费看| 1717国产精品久久| 2021国产精品自在拍在线播放| 中国美女毛片| 男人的天堂在线免费视频| 午夜一级免费视频| 免费精品99久久国产综合精品 | 色视频在线观看免费| 五月天伦理| 亚洲春色www| 欧美一区二区三区在线观看免费 |