鴻蒙布局List簡介

鴻蒙布局List簡介

  • List--常見的布局容器
  • List 創建方式
    • 創建方式一,通過Listitem
    • 創建方式二,通過ForEach和Listitem
    • 創建方式三,通過ListItemGroup

List–常見的布局容器

List是在app開發中最常見的一種布局方式,例如通訊錄、新聞列表等。在鴻蒙應用中List布局使用也很普遍。

List 創建方式

創建方式一,通過Listitem

ListItem是List的子組件,List列表展示的內容需要通過ListItem承載才能展示。

      List({space: 10}){ // ListItem之間的間距ListItem(){Text('ListItem1').extendText()}ListItem(){Text('ListItem2').extendText()}ListItem(){Text('ListItem3').extendText()}ListItem(){Text('ListItem4').extendText()}ListItem(){Text('ListItem5').extendText()}ListItem(){Text('ListItem6').extendText()}}.margin(16)

在這里插入圖片描述

這是最簡單的創建方式,將需要展示的內容寫在ListItem中。

創建方式二,通過ForEach和Listitem

在實際使用過程中,我們不會像 方式一 那樣去創建列表;我們可以使用循環的方式去創建。

先聲明一組數據

private arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]

將聲明的這組數據通過ForEach的方式,渲染到屏幕上。

  @Builder listForeach() {List({space: 20,initialIndex: 0}){ForEach(this.arr,(item,idx)=>{ListItem(){Text('ListItem:' + item + '   idx:'+idx).extendText()}},(item,idx)=>{return item + idx})}.listDirection(Axis.Vertical) // 排列方向.divider({strokeWidth: 10, color: Color.Green}) // 每行之間的分界線.edgeEffect(EdgeEffect.Spring) // 滑動到邊緣的效果.onScrollIndex((firstIndex: number, lastIndex: number) => {console.info('first' + firstIndex)console.info('last' + lastIndex)})}

在這里插入圖片描述

針對上面使用到的一些方法做下說明;

1. List({space: 20,initialIndex: 0}) space:表示兩個Listitem之間的間距,initialIndex代表從第0個ListItem處開始展示
2. listDirection(Axis.Vertical) // 排列方向
3. divider({strokeWidth: 10, color: Color.Green}) // 每行之間的分界線
4. edgeEffect(EdgeEffect.Spring) // 滑動到邊緣的效果
5. onScrollIndex((firstIndex: number, lastIndex: number)=> {})  滾動位置監聽

創建方式三,通過ListItemGroup

ListItemGroup表述分組.

還是先準備數據

private groupArr = ['Group1','Group2','Group3','Group4']
private groupDict = {'Group1':[0,1,2,3],'Group2':[4,5,6],'Group3':[7,8,9,10],'Group4':[11,12,13]}

將數據渲染到頁面

  @Builder listGroup() {List({space: 20,initialIndex: 0}){ForEach(this.groupArr,(item,idx)=>{ListItemGroup({space: 6,header: this.header(item)}){ForEach(this.groupDict[item],(itemChild,idxChild)=>{ListItem(){Text('ListItem:' + itemChild + '   idx:'+idxChild).extendText()}})}.backgroundColor(Color.Grey)})}.sticky(StickyStyle.Header|StickyStyle.Footer) }@Builder header(title: string) {Text(title).fontColor(Color.Black).fontSize(20).fontWeight(FontWeight.Bold).textAlign(TextAlign.Center)// .align(Alignment.Center).width('100%')}

展示效果:
在這里插入圖片描述

分組效果通過上面圖片可展示出來。

ListItemGroup({space: 6,header: this.header(item)}) 中使用了space和header

space: 表示分組內,每個子ListItem之間的間距
header:表示分組的頭部,這個需要自定義。與之對應的還有一個footer。

還是用了一個sticky(StickyStyle.Header|StickyStyle.Footer) 表示滾動過程中ListItemGroup的頂部或者底部會被固定。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15173.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Wpf 使用 Prism 實戰開發Day24

自定義詢問窗口 當需要關閉系統或進行刪除數據或進行其他操作的時候&#xff0c;需要詢問用戶是否要執行對應的操作。那么就需要一個彈窗來給用戶進行提示。 一.添加自定義詢問窗口視圖 (MsgView.xaml) 1.首先&#xff0c;添加一個自定義詢問窗口視圖 (MsgView.xaml) <Use…

域內攻擊 ----->約束非約束委派攻擊

在域中&#xff0c;除了我們常見的橫向移動以外&#xff0c;還有很多攻擊&#xff0c;像什么kerberoasting&#xff0c;委派攻擊&#xff0c;NTLMrelay啊...... 還有很多&#xff08;暫時只知道這些&#xff09; 以前在一篇公眾號看到的一個笑話也薈萃了網安的一些攻擊手法&am…

vscode終端運行pnpm,yarn不成功問題

vscode終端運行pnpm&#xff0c;yarn不成功問題 1.問題描述2.解決辦法 1.問題描述 全局安裝了pnpm后&#xff0c;cmd窗口執行pnpm -v可以查看版本信息&#xff0c;在項目目錄可以執行操作&#xff0c;但是在vscode中無法執行并報錯 2.解決辦法 以管理員身份運行vscode打開vscod…

《拯救大學生課設不掛科第二期之Windows11下安裝VC6.0(VC++6.0)與跑通Hello World C語言程序教程》【官方筆記】

背景與目標人群&#xff1a; 大學第一次學C語言的時候&#xff0c;大部分老師會選擇VC6這個編輯器。 但由于很多人是新手&#xff0c;第一次上大學學C語言。 老師要求VC6.0&#xff08;VC6.0&#xff09;寫C語言跑程序可能很多人還是第一次接觸電腦。 需要安裝VC6這個編輯器…

深入理解ECMAScript:JavaScript的規范與實踐

引言 在當今的Web開發領域&#xff0c;JavaScript幾乎無處不在。它不僅在客戶端編程中占據主導地位&#xff0c;而且在服務器端&#xff08;Node.js&#xff09;和移動應用開發中也越來越受歡迎。然而&#xff0c;JavaScript的核心并非由單一的公司或組織控制&#xff0c;而是…

初識Java--開啟我的Java學習之旅

目錄 一、JAVA語言概述二、JAVA語言的重要性2.1語言使用廣泛程度2.2工作領域2.3在校招崗位的需求2.4 java語言發展簡史2.5Java語言特性 三、初識java的main方法四、運行java程序五、【面試題】JDK、JRE、JVM之間的關系&#xff1f; 一、JAVA語言概述 Java是一種優秀的程序設計…

【Apache Doris】周FAQ集錦:第 4 期

【Apache Doris】周FAQ集錦&#xff1a;第 4 期 SQL問題數據操作問題運維常見問題其它問題關于社區 歡迎查閱本周的 Apache Doris 社區 FAQ 欄目&#xff01; 在這個欄目中&#xff0c;每周將篩選社區反饋的熱門問題和話題&#xff0c;重點回答并進行深入探討。旨在為廣大用戶和…

Redis常見數據類型(6)-set, zset

目錄 Set 命令小結 內部編碼 使用場景 用戶畫像 其它 Zset有序集合 普通指令 zadd zcard zcount zrange zrevrange ?編輯 zrangebyscore zpopmax/zpopmin bzpopmax/bzpopmin zrank/zrevrank zscore zrem zremrangebyrank zremrangebyscore Set 命令小結 …

鏈棧的存儲

單向鏈表在棧中的存儲 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //鏈棧初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判斷鏈棧是否為空 Status StackEmpty(LinkStack S) {if (S NU…

將具有傳統IP的設計遷移到Vivado設計套件

將具有傳統IP的設計遷移到Vivado設計套件 概述 AMD Vivado?設計套件允許您從CORE Generator?工具遷移IP設計。你可以 還可以將IP遷移到Vivado Design Suite的最新版本。 重要&#xff01;Vivado集成開發環境&#xff08;IDE&#xff09;要求IP、實例化和 端口名都是小寫的。將…

Spring 模擬管理Web應用程序

MVC&#xff1a;Model View Controller 1&#xff09;controller&#xff1a;控制層&#xff08;Servlet是運行服務器端&#xff0c;處理請求響應java語言編寫技術&#xff09; 2&#xff09;service&#xff1a;業務層&#xff08;事務&#xff0c;異常&#xff09; 3&#xf…

視頻號小店的保證金是多少錢?2024最新收費標準,一篇了解!

哈嘍~我是電商月月 現實社會&#xff0c;干什么都需要交錢&#xff0c;就連上班&#xff0c;路費也得掏錢 想要入駐視頻號小店&#xff0c;在視頻號里賣貨賺錢&#xff0c;就要繳納類目保證金 那到底要繳多少錢呢&#xff1f; 今天&#xff0c;月月就把最新的收費標準分享給…

輕松拿捏C語言——【字符串函數】的使用及模擬實現

&#x1f970;歡迎關注 輕松拿捏C語言系列&#xff0c;來和 小哇 一起進步&#xff01;? &#x1f389;創作不易&#xff0c;請多多支持&#x1f389; &#x1f308;感謝大家的閱讀、點贊、收藏和關注&#x1f495; &#x1f339;如有問題&#xff0c;歡迎指正 感謝 目錄 一、…

mysql 拼接兩個字段的值 使用CONCAT的函數

CONCAT()函數拼接兩個不用字段的值&#xff0c;最后在一個字段里面顯示出來&#xff0c;具體實例如下&#xff1a; 下面這個案例就行把SSSHENGBH、SSSBH、SSXBH、SSXZBH字段值拼接到一個字段里面進行顯示 select CONCAT(SSSHENGBH,SSSBH,SSXBH,SSXZBH) FROM BLT_JBXXJLB

3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成

3D 生成重建013-ProlificDreamer將SDS拓展到VSD算法進行高質量的3D生成 文章目錄 0論文工作1論文方法2效果 0論文工作 **分數蒸餾采樣&#xff08;SDS&#xff09;**通過提取預先訓練好的大規模文本到圖像擴散模型&#xff0c;在文本到3d生成方面顯示出了巨大的前景&#xff0…

Windows VS2022 C語言使用 sqlite3.dll 訪問 SQLite數據庫

今天接到一個學生C語言訪問SQLite數據庫的的需求: 第一步,SQLite Download Page下載 sqlite3.dll 庫 下載解壓,發現只有兩個文件: 于是使用x64 Native Tools Command Prompt 終端 生成 sqlite3.lib 和 sqlite3.exp文件 LIB -def:sqlite3.def -out:sqlite3.lib -machin…

廣告圈策劃大師課:活動策劃到品牌企劃的深度解析

對于剛接觸營銷策劃的新人來說&#xff0c;在這個知識密集型行業里生存&#xff0c;要學習非常多各種意思相近的概念&#xff0c;常常讓人感到頭疼&#xff0c;難以區分。 這里對這些策劃概念進行深入解析&#xff0c;幫助您輕松理清各自的含義和區別。 1. 活動策劃&#xff…

C++ 字符串處理-將字符串轉成大寫或小寫

1. 關鍵詞2. strutil.h3. strutil.cpp4. 測試代碼5. 運行結果6. 源碼地址 1. 關鍵詞 C 字符串處理 將字符串轉成大寫或小寫 跨平臺 2. strutil.h #include <string> namespace cutl {/*** brief Convert a string to upper case.** param str the string to be conve…

微信小程序自定義頭部

1.在對應界面的json文件&#xff0c;將navigationStyle屬性設置為“custom” "navigationStyle":"custom" 2. 狀態欄的高度可以通過 wx.getSystemInfo() 獲取。 膠囊按鈕的信息可以通過 wx.getMenuButtonBoundingClientRect() 獲取。 導航欄高度狀態欄…