精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

鴻蒙ArkTS語言入門——容器和組件的使用

系統(tǒng) OpenHarmony
這篇博客中,筆者將為對之前的知識進(jìn)行一個補(bǔ)充,主要是針對一些組件更多屬性的應(yīng)用,還會介紹其他例如列表組件的使用,使得頁面的功能更加豐富。

經(jīng)過前面的學(xué)習(xí),筆者為大家介紹了使用ArkTS如何搭建一個簡單的頁面,介紹了一個頁面的組成部分以及一部分的容器和組件,在接下來的這篇博客中,筆者將為對之前的知識進(jìn)行一個補(bǔ)充,主要是針對一些組件更多屬性的應(yīng)用,還會介紹其他例如列表組件的使用,使得頁面的功能更加豐富。

Column與Row

由之前的介紹可知,我們可以通過Column和Row容器來對頁面進(jìn)行以一個簡單的布局,劃分不同的功能分區(qū),以搭建一個完整的頁面,接下來我將介紹它更多的屬性,使其在使用中更好的對頁面進(jìn)行排布劃分。

首先如圖

我們可以看到,Column和Row都有一個可選參數(shù)“space”,space的類型可以是string或number類型,space的作用是調(diào)節(jié)其在主軸上子組件之間的距離(Column和Row的主軸分別為縱向和橫向),舉個例子:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
}

該代碼顯示效果如下:

但在加入Column和Row的space參數(shù)后。

Column({spaec:30}){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row({spaec:20}){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
}

該效果就呈現(xiàn)為:

比較后不難發(fā)現(xiàn),在縱向和橫向上,各個組件之間的距離發(fā)生的變化。

這個便是space參數(shù)的用法。

接下來,還要介紹這個兩個容器的重要屬性“justifyContent”以及“alignItems”。

其中,justifyContent的數(shù)據(jù)類型為FlexAlign,它的具體類型有以下幾個:

接下來,我為大家提供前三個代碼示例:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
  .justifyContent(FlexAlign.Start)//首端對齊
  .width('100%')
}

效果如圖:

同理:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
  .justifyContent(FlexAlign.End)//末端對齊
  .width('100%')
}

效果如圖:

同理:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
  .justifyContent(FlexAlign.Center)//中心對齊
  .width('100%')
}

效果如圖:

接下來,我們來介紹alignItems屬性,該屬性可以控制該容器的子組件在交叉軸上(Column與Row的交叉軸分別為橫向與縱向)上的排列方式,alignItems屬性在這兩個容器中的參數(shù)類型并不相同,其中Column容器的參數(shù)為HorizontalAlign(水平對齊),而Row容器的參數(shù)為VerticalAlign(垂直對齊),它們分別由如下幾個排列方式:

圖片

下面,我將以Column容器為例,介紹它的alignItems屬性的用法:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
}
.alignItems(HorizontalAlign.Start)//首端對齊
.width('100%')

效果如圖,可以發(fā)現(xiàn)子組件排列在了Column容器的交叉軸的最左端:

同理:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
}
.alignItems(HorizontalAlign.Center)//中心對齊
.width('100%')

效果如圖:

同理:

Column(){
  Test($r('app.string.orther_login_method'))
  .fontsize(50)

  Row(){
    Image($r('app.media.method1'))
    Image($r('app.media.method2'))
    Image($r('app.media.method3'))
  }
}
.alignItems(HorizontalAlign.End)//末端對齊
.width('100%')

效果如圖:

以上便是全部對Column和Row容器的補(bǔ)充內(nèi)容。

下面我們來一起學(xué)習(xí)新的組件內(nèi)容:

在日常生活的軟件中,大家應(yīng)該經(jīng)常能碰到像這樣的頁面:

它通過一行行的表格使它的功能整齊排列在頁面中,不僅使得頁面美觀,而且給用戶帶來了方便的使用體驗(yàn),那么這樣的表格是如何實(shí)現(xiàn)的?接下來將介紹一個生成表格的組件----List。

List

上面已經(jīng)介紹到,List組件是用于生成表格的,它一般和它的子組件ListItem一起使用,按照水平或垂直方向線性排列,它的參數(shù)情況如下:

如圖所示,可以看到List組件一共有三個參數(shù),分別是“space”“initalIndex”以及“scroller”,其中space的作用是用于調(diào)整列表項(xiàng)之間的間距。

initalIndex是用于設(shè)置List初次加載時起始位置顯示的item。

scroller的作用則是控制List組件的滾動。

而List組件的屬性則主要有以下兩種:

在正式學(xué)習(xí)List組件之前,我們需要學(xué)會ForEach循環(huán)渲染,它將有利于我們更好的構(gòu)建出大量格式相仿的表格項(xiàng),大大減少我們的代碼量。

ForEach循環(huán)渲染

首先,我們來看到它的基本格式,如圖:

不難發(fā)現(xiàn)它也是擁有3個參數(shù)。

  • 參數(shù)1:arr arr為需要迭代的數(shù)組,我們需要將數(shù)據(jù)提前存放在這個數(shù)組里,F(xiàn)orEach會將數(shù)據(jù)按順序渲染進(jìn)列表項(xiàng)里'。
  • 參數(shù)2:itemGenerator itemGenerator是為子組件生成函數(shù),主要是用于設(shè)定好列表樣式以進(jìn)行循環(huán)渲染。
  • 參數(shù)3:keyGenerator keyGenerator是用于為數(shù)組唯一鍵值生成函數(shù)。

學(xué)習(xí)完ForEach后,我們便可以開始學(xué)習(xí)使用List組件了,首先,我們先來看看構(gòu)建一個列表的步驟,如下圖:

接下來,我將以此圖為例,嘗試做出一張列表。

我們先對列表的每一項(xiàng)進(jìn)行分析,例如:

在這個列表項(xiàng)里,我們可以看到,它是由最左側(cè)的圖標(biāo),接著的文本,還有最右側(cè)的箭頭圖標(biāo)三個部分組成的,獲得這些信息后,我們首先得創(chuàng)建一個命名為itemData的類,用于存放一個列表項(xiàng)里的數(shù)據(jù)(定義列表數(shù)據(jù)對象):

export default class itemData{
  img?:Resouce;
  title: Resouce;
  others:Resouce;

//初始化列表項(xiàng)數(shù)據(jù)構(gòu)建對應(yīng)數(shù)據(jù)
constructor(img?:Resouce,title: Resouce,others:Resouce){
    this.img = img;
    this.title = title;
    this.others = others;
  }
}

接著到第二步,創(chuàng)建列表數(shù)據(jù)數(shù)組,代碼如下:

export class MainViewModel{
...
//創(chuàng)建函數(shù)getSettingListData用于接收數(shù)據(jù)
getSettingListData():array<ItemData>{
//創(chuàng)建數(shù)組settingListData用于存放接收到的數(shù)據(jù)
  let settingListData:ItemData[] = [
    new ItemData($r('app.media,news'),$r('app.string.setting_List_news'),$r('app.strinjg.setting.List.toggle')),
new ItemData($r('app.media.data'),$r('app.string.setting_List_data'),null),
new ItemData($r('app.media.menu'),$r('app.string.setting_List_menu'),null),
...
];
  return settingListData;
  }
}

export default new MainViewModel();

第三步,使用List組件構(gòu)建列表。

@Builder SettingCell(item:ItemData){
  Row(){
    Row({space:12}){
      Image(item.img)
      Test(item.title)     
 }
  if(itme.others == null){
    Image($r('app.media.right_grey'))//向右箭頭圖標(biāo)        
  }else{
     Toggle(Toggle({type:ToggleType.switch,isOn:false}))//啟動按鈕 
  }
}
.justifyContent(FlexAlign.SpaceBetween)//第一個元素行首對齊,最后一個元素行尾對齊
.width('100%')
}

第四步,使用ForEach構(gòu)建列表:

@Component
export default struct Setting{
  @Builder SettingCell(item:ItemData){...}
  ...
  List(){
    ForEach(MainViewModel.getSettingListData(),//遍歷數(shù)組數(shù)據(jù)
       (item:ItemData) => {ListItem(){
        this.settingCell(item)
      }//生成子組件
    },item => JSON.stringify(item))//生成數(shù)組項(xiàng)鍵值
  }
  .divider({...})//設(shè)置列表分割線
...
}

經(jīng)過上面的步驟,我們就能完成一個List列表的構(gòu)建,完成一個。

這樣的列表。

以上便是本片博客的全部內(nèi)容,如果描述有誤,還請讀者指正!編者會繼續(xù)努力,帶來更多詳盡的基礎(chǔ)知識。

此博客由金陵科技學(xué)院-開放原子開源社-張子航編寫。

責(zé)任編輯:姜華 來源: 鴻蒙開發(fā)者社區(qū)
相關(guān)推薦

2024-05-28 07:53:23

2024-05-21 08:04:50

ArkTS鴻蒙應(yīng)用開發(fā)語言

2009-06-11 15:26:05

EJB組件EJB容器

2011-07-14 09:09:14

const

2020-08-26 07:48:41

React Spect組件庫開發(fā)

2023-07-04 07:30:03

容器Pod組件

2013-01-17 16:17:33

Android開發(fā)Intent組件

2009-07-10 13:20:37

Swing容器組件

2021-09-23 15:18:26

YAMLLinux

2020-09-28 15:00:19

Linux容器虛擬化

2025-08-04 01:22:00

Go 語言微服務(wù)Kratos

2023-12-18 08:24:56

ViewModel數(shù)據(jù)操作Android

2022-11-14 11:41:13

SVG開發(fā)組件

2009-08-26 17:43:10

ibmdwLotus

2020-11-16 09:50:43

hpm-cli

2010-02-03 15:59:08

Android組件

2023-07-31 17:35:31

ArkTS鴻蒙

2009-11-23 19:48:50

ibmdwJava

2009-06-25 15:44:14

Java語言

2022-02-22 19:04:01

Perl編程語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧美丝袜自拍制服另类| 99精品视频在线播放观看| 日韩在线高清视频| 能看毛片的网站| bl在线肉h视频大尺度| 99精品一区二区三区| 国产精品久久久久久av福利| 青青草自拍偷拍| av不卡一区| 欧美日韩精品一区二区在线播放| av 日韩 人妻 黑人 综合 无码| 日韩精品系列| 国产精品香蕉一区二区三区| 人体精品一二三区| 欧美日韩精品在线观看视频 | 欧美日韩伊人| 日韩成人在线网站| 日日夜夜精品视频免费观看| 天堂av在线网| 一区二区三区在线看| 日本一区视频在线观看免费| av网站在线观看免费| 日精品一区二区| 午夜精品久久久久久久久久久久久| 蜜乳av中文字幕| 欧美freesex8一10精品| 日韩一区二区三| 久久黄色片网站| av日韩亚洲| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲三区四区| 欧美高清电影在线| 99久久综合国产精品| 97人人模人人爽人人少妇| 国产成人麻豆免费观看| 国产人成精品一区二区三| 蜜臀久久99精品久久久无需会员| 免费一级黄色录像| 中文字幕精品影院| 日韩成人在线播放| 黄色网址在线视频| caoporn成人| 日韩免费高清av| 人妻激情偷乱视频一区二区三区| 岛国精品在线| 欧美吞精做爰啪啪高潮| 99精品免费在线观看| www成人免费观看| 亚洲一区二区视频| 草草视频在线免费观看| 牛牛精品在线视频| 亚洲国产一区二区视频| 国产xxxx振车| 91吃瓜在线观看| 天天综合天天综合色| 阿v天堂2018| 狠狠躁少妇一区二区三区| 午夜成人免费电影| 中文字幕无码精品亚洲35| 8x8ⅹ拨牐拨牐拨牐在线观看| 一区二区三区久久| 小泽玛利亚av在线| 免费在线观看的电影网站| 亚洲成av人**亚洲成av**| 僵尸世界大战2 在线播放| av影院在线免费观看| 黄色精品一区二区| 无码人妻丰满熟妇区毛片| 校园春色亚洲色图| 欧美日韩成人在线| 日本美女久久久| 亚洲精品一二三**| 日韩成人小视频| 无码少妇精品一区二区免费动态| 久久高清免费| 久久6精品影院| 日本视频www| 日精品一区二区| 91久久久久久久一区二区| 精品人妻伦一区二区三区久久| 国产成人精品三级麻豆| 精品高清视频| а天堂8中文最新版在线官网| 中文在线免费一区三区高中清不卡| 在线看视频不卡| 金瓶狂野欧美性猛交xxxx | 成人免费观看在线| 中文在线аv在线| 欧美浪妇xxxx高跟鞋交| 好吊操视频这里只有精品| 色橹橹欧美在线观看视频高清| 国产亚洲激情在线| 欧美日韩精品一区二区三区视频播放| 国产精品婷婷| 成人a在线视频| 日韩在线观看视频网站| 亚洲国产成人自拍| 国产成a人亚洲精v品在线观看| 天堂中文最新版在线中文| 欧美女孩性生活视频| 久久精品无码专区| 日韩欧美视频专区| 国语对白做受69| 一本一道人人妻人人妻αv| 成人午夜av电影| 亚洲成人第一| 亚洲天堂手机| 91精品国产91久久久久久一区二区 | 亚洲国产日韩美| 不卡av免费观看| 欧美日韩一二三区| 国产精品无码网站| 欧美国产三级| 国产精品视频久久| 色猫av在线| 亚洲一区二区三区不卡国产欧美| 成人一区二区三| 久久365资源| zzijzzij亚洲日本成熟少妇| caoporn国产| 岛国一区二区三区| 日本免费在线视频观看| 亚洲高清黄色| 国产视频自拍一区| 日本三级网站在线观看| 国产一区二区精品在线观看| 日韩电影大全在线观看| 超碰在线视屏| 精品美女在线播放| 久久久久久久久久网站| 九九视频精品免费| 午夜一区二区三区| 中文av在线全新| 亚洲精品一区av在线播放| 国产无码精品久久久| 国产成人一级电影| 亚洲小视频在线播放| 91久久青草| 久久精品国产91精品亚洲| 最近中文字幕在线观看视频| 久久综合网色—综合色88| 蜜桃传媒一区二区三区| 成人涩涩网站| 久久久久一本一区二区青青蜜月| a级片在线免费看| 亚洲精品视频免费看| 欧洲美女亚洲激情| 天天影视综合| 91av一区二区三区| 性欧美1819sex性高清大胸| 777a∨成人精品桃花网| 舐め犯し波多野结衣在线观看| 国产一区二区你懂的| 久久免费视频1| 台湾佬中文娱乐网欧美电影| 精品视频偷偷看在线观看| 国产成人免费看| 久久免费偷拍视频| 国产视频一区二区视频| 日本不卡电影| 国产日韩欧美另类| 成人在线免费看片| 精品日韩一区二区| 欧美日韩综合在线观看| 久久久国产综合精品女国产盗摄| 一本色道无码道dvd在线观看| 国产一区二区三区四区大秀| 国产精品久久久999| 在线国产91| 91精品国产综合久久国产大片 | 欧美高清在线| 5g国产欧美日韩视频| 国产精品一品| 亚洲欧美中文日韩v在线观看| 欧美brazzers| 亚洲欧美色综合| 制服丝袜在线第一页| 狂野欧美一区| 中文字幕一区二区三区5566| 久久在线观看| 91成人性视频| 日本视频不卡| 精品久久五月天| 免费观看日批视频| 亚洲丝袜另类动漫二区| 精品久久久久久无码人妻| 久久香蕉精品| 成人手机在线播放| 要久久爱电视剧全集完整观看| 国产欧美一区二区三区四区| 欧美日韩经典丝袜| 亚洲无限av看| www.久久伊人| 在线视频中文字幕一区二区| 欧美日韩中文字幕在线观看| 久久亚洲综合色一区二区三区 | 特级毛片www| 中文字幕一区二区三区色视频| 911亚洲精选| 美国十次了思思久久精品导航| 国产一二三区在线播放| 日韩.com| 精品欧美一区二区在线观看视频| 久久久久久一区二区三区四区别墅| 美女撒尿一区二区三区| 国产大片在线免费观看| 欧美不卡一区二区三区四区| 亚洲午夜无码久久久久| 午夜av区久久| 91嫩草丨国产丨精品| 国产日韩精品视频一区| 在线免费看黄色片| 国产揄拍国内精品对白| 免费男同深夜夜行网站| 亚洲大胆视频| 少妇高潮流白浆| 精品日韩免费| 国产综合精品一区二区三区| 精品视频在线播放一区二区三区| 国产精品入口日韩视频大尺度| av手机在线观看| 欧美黑人性视频| 黄色网在线播放| 国产一区二区三区网站| 婷婷伊人综合中文字幕| 欧美成人精品3d动漫h| 国产精品国产三级国产普通话对白| 欧美日韩在线一区| 日本网站免费观看| 亚洲激情一二三区| 国产67194| 国产精品乱码久久久久久| 精品人伦一区二区三电影| 白白色亚洲国产精品| 91亚洲一线产区二线产区| 精品影院一区二区久久久| 亚洲欧美日韩综合网| 日韩精品乱码免费| 无码人妻丰满熟妇区五十路百度| 国产欧美在线| 成年网站在线免费观看| 国产精品综合| 国产在线青青草| 亚洲一区观看| 欧美成人黑人猛交| 久久久国产精品一区二区中文| 日韩av黄色网址| 老司机一区二区三区| 久久美女福利视频| 久久午夜激情| 午夜免费一区二区| 蜜乳av一区二区| 亚洲免费成人在线视频| 国产资源精品在线观看| 日本一区二区三区在线免费观看| 精品制服美女丁香| www.欧美com| 懂色av一区二区三区免费看| 亚洲一二三四五| 91看片淫黄大片一级在线观看| 女同性恋一区二区三区| 久久久亚洲欧洲日产国码αv| 老熟妇一区二区| 国产精品久久久久影院亚瑟| 国产日产精品一区二区三区的介绍| 亚洲特级片在线| 国产亚洲欧美精品久久久www| 亚洲国产精品久久久久秋霞影院| 你懂的国产视频| 色88888久久久久久影院野外| 在线免费一级片| 日韩一级片在线观看| 天天色综合av| 亚洲一区二区福利| caopeng在线| 91成人精品网站| 美女视频一区| 国产精品福利视频| 免费毛片在线不卡| 国产人妻互换一区二区| 亚洲国产日本| 中文字幕国内自拍| 国产激情偷乱视频一区二区三区| 黄色免费看视频| 亚洲国产精品激情在线观看| 五月婷婷一区二区| 欧美色播在线播放| 国产精品国产精品国产专区| 亚洲国产第一页| 午夜看片在线免费| 久久青草福利网站| 成人在线免费av| 国产精品对白刺激久久久| 精品国产不卡| 欧美黑人在线观看| 日韩国产欧美在线观看| 日本美女视频网站| 国产精品视频九色porn| 国产一级特黄毛片| 精品视频全国免费看| 亚洲国产精品视频在线| 国产一区二区成人| 国产在线美女| 91传媒视频免费| 欧美美女视频| 精品无码一区二区三区爱欲| 日本不卡一二三区黄网| 欧美大片免费播放器| 成人免费一区二区三区在线观看| 九九热精品视频在线| 日韩亚洲欧美一区二区三区| 户外极限露出调教在线视频| 欧美精品激情视频| 久久av影院| 欧美日产一区二区三区在线观看| 欧美成人69| 欧美丝袜在线观看| 欧美国产综合一区二区| 在线观看亚洲欧美| 日韩精品在线看片z| 欧美jizz18性欧美| 国产v综合ⅴ日韩v欧美大片| 国产福利资源一区| 福利在线小视频| 老司机午夜精品| 免费黄色片网站| 欧美视频中文在线看| 日本韩国免费观看| 欧美精品videosex极品1| 激情综合五月| 大桥未久一区二区| 韩国女主播成人在线| 中文天堂资源在线| 欧洲一区在线电影| 国产精品久久一区二区三区不卡 | 日韩一级二级| 秋霞毛片久久久久久久久| 翔田千里一区二区| 人人妻人人澡人人爽人人精品| 亚洲va在线va天堂| 天天色天天操天天射| 51午夜精品视频| 婷婷国产精品| 黑森林福利视频导航| 久久先锋影音av鲁色资源 | 在线不卡中文字幕| 香蕉视频在线播放| 国产一区二区色| 久久在线视频| 国产一级免费大片| 亚洲激情六月丁香| 性欧美videos另类hd| 欧美黑人极品猛少妇色xxxxx| 天堂精品久久久久| 97超碰国产精品| 不卡av免费在线观看| 亚洲男人的天堂在线视频| 亚洲欧美制服综合另类| 国产精成人品2018| 99精品视频网站| 国产99久久久精品| 久久黄色精品视频| 在线a欧美视频| 精品视频91| av7777777| 久久久亚洲精品一区二区三区| 中文有码在线播放| 久久久久99精品久久久久| 亚洲超碰在线观看| 成人在线免费观看av| 国产日韩欧美在线一区| 国产又黄又爽视频| 欧美大荫蒂xxx| 中文字幕中文字幕精品| 9久久婷婷国产综合精品性色 | 国产一区二区免费| 亚洲伊人精品酒店| 久草免费福利在线| 久久久www免费人成精品| 中文字幕免费高清在线观看| 久久夜精品香蕉| 欧美精品中文| 国产精品久久a| 午夜精品在线看| 成年网站在线| 成人资源av| 免费成人av在线| 国产一级大片在线观看| 亚洲偷熟乱区亚洲香蕉av| а天堂中文最新一区二区三区| 国产资源在线免费观看| 中文字幕成人网| 丁香六月天婷婷| 国产精品爽黄69天堂a| 欧美日韩视频| 日本午夜精品视频| 亚洲精品国产综合久久| 亚洲一区有码| 日韩一级片播放| 亚洲国产精品综合小说图片区|