ArkUI-List組件

列表是一個復雜的容器,當列表項達到一定數量,使得列表內容超出其范圍的時候,就會自動變為可以滾動。列表適合用來展現同類數據類型。

List的基本使用方法

List組件的構建聲明是這個樣子的

List(value?: {space?:number | string, initiallIndex?: number, scroller?: Scroller})

參數詳解:

  • space: 代表子項中挨著的間距。
  • initiallIndex: 代表首次進列表的時候初始滑動的位置,單位按照索引來進行測算。自動滑動的位置為 置頂第一個。
  • scroller: 可滾動組件控制器(所以不止一個組件歐)。 如果一個List有滑動控制的需求,例如點擊某一個按鈕就會向上移動多少,此時,沒有辦法直接拿到List的對象去滑動,而是通過滑動控制器綁定完進行控制。

initiallIndex使用案例:

@State list:string[] = ['1', '2', '3', '4', '5', '6', '7']
build() {...List({space: 8, initiallIndex: 3}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}
}

可滾動組件控制器-Scroller

上方我們講了下List組件構建的時候所需要的參數,其余兩個,space, 和 initiallIndex都比較好理解,我們不做贅述。 下面講講第三個參數Scroller。

Scroller就是用來控制可滾動組件的滾動行為的。List也是一種可滾動組件,也支持了這個控制器。

Scroller初始化

非常簡單,new一下即可。

// 1 初始化對象
scroller: Scroller = new Scroller()// 2 使用對象
build() {...List({space: 8, initiallIndex: 3, scroller: this.scroller}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}
}

Scroller功能

  • scrollTo :滑動到指定位置
  • scrollEdge: 滑動到邊緣
  • scrollBy:滑動指定距離

// 1 初始化對象
scroller: Scroller = new Scroller()// 2 使用對象
build() {...List({space: 8, initiallIndex: 3, scroller: this.scroller}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}Button('scroll 50').onclick(()=>{this.scroller.scrollBy(0, 50)})Button('back top').onclick(()=>{this.scroller.scrollEdge(Edge.Top)})
}

List屬性

屬性

功能

listDirection

設置List組件排列方向

lanes

設置List組件行數或者列數

divider

設置ListItem分割線樣式

scrollBar

設置滾動條狀態

listDirection屬性-設置列表方向

用于設置List組件的內容排列方向。 其值為一個枚舉:

  • Axis.Vertical 縱向
  • Axis.Horizontal 橫向
// 1 初始化對象
scroller: Scroller = new Scroller()// 2 使用對象
build() {...List({space: 8, initiallIndex: 3, scroller: this.scroller}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}.listDirection(Axis.Vertical)
}

lanes屬性-設置列數

lanes是車道,劃分區域的意思。這個屬性設置的時候參數比較復雜。我們看看原型。

lanes(value: number|LengthConstrain, gutter?: Dimension)

  • value: 設置列表內容的列數或者行數
  • gutter: 設置列間距。 此處的列間距,應該變通理解,如果一個表目前是橫向的,那么它只有一個橫向的”列“!
// 1 初始化對象
scroller: Scroller = new Scroller()// 2 使用對象
build() {...List({space: 8, initiallIndex: 3, scroller: this.scroller}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}.listDirection(Axis.Vertical).lanes(2)
}

List是縱向的,出現了兩列

那還要Grid干嘛,天哪!

divider屬性-設置分割線樣式

// 1 初始化對象
scroller: Scroller = new Scroller()// 2 使用對象
build() {...List({space: 8, initiallIndex: 3, scroller: this.scroller}){ForEach(this.list, (item: string) => {....}, (item: string) => item)}.listDirection(Axis.Vertical).lanes(2).divider({strockWidth: 2,color: '#4472c4',startMargin: 20,endMargin: 20})
}

scrollBar屬性-設置滾動條狀態

這個比較好理解就不做代碼展示了。我們理解下參數的意義即可。

scrollBar(barState: BarState)

BarState枚舉說明

  • Auto:按需展示,觸摸時展示,2秒后就消失。
  • Off:不展示
  • On:常駐展示、

List,ListItemGroup, ListItem 組件關系

ListItemGroup用于列表數據的分組展示,其組件也是ListItem。ListItem表示單個列表項,可以包含單個組件。

list(){listItemGroup(){listItem(){...}}listItemGroup(){listItem(){...}listItem(){...}}listItemGroup(){listItem(){...}listItem(){...}}
}

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

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

相關文章

Ubuntu實時讀取音樂軟件的音頻流

文章目錄 一. 前言二. 開發環境三. 具體操作四. 實際效果 一. 前言 起因是這樣的,我需要在Ubuntu中,實時讀取正在播放音樂的音頻流,然后對音頻進行相關的處理。本來打算使用的PipewireHelvum的方式實現,好處是可以直接利用Helvum…

【yolo】YOLO訓練參數輸入之模型輸入尺寸

模型輸入尺寸是YOLO訓練和推理過程中非常重要的參數之一。YOLO要求輸入圖像的尺寸是固定的,通常為正方形(如416416、640640等)。這個尺寸直接影響模型的性能和速度。以下是對模型輸入尺寸的詳細介紹: 1. 模型輸入尺寸的作用 統一…

【TI MSPM0】Timer學習

一、計數器 加法計數器:每進入一個脈沖,就加一減法計算器:每進入一個脈沖,就減一 當計數器減到0,觸發中斷 1.最短計時時間 當時鐘周期為1khz時,最短計時時間為1ms,最長計時時間為65535ms 當時…

從WebRTC到嵌入式:EasyRTC如何借助大模型提升音視頻通信體驗

隨著人工智能技術的快速發展,WebRTC與大模型的結合正在為音視頻通信領域帶來革命性的變革。WebRTC作為一種開源實時通信技術,以其低延遲、跨平臺兼容性和強大的音視頻處理能力,成為智能硬件和物聯網設備的重要技術支撐。 而EasyRTC作為基于W…

使用brower use AI 代理自動控制瀏覽器完成任務

第一步:終端運行命令下載 brower use pip install browser-use 第二步: 終端運行命令下載playwright playwright install 第三步:新建test.py代碼,粘貼復制以下代碼 import asyncio import osfrom dotenv import load_doten…

自由學習記錄(45)

頂點片元著色器(important) 1.需要在Pass渲染通道中編寫著色器邏輯 2.可以使用cG或HLSL兩種shader語言去編寫Shader邏輯 3.代碼量較多,靈活性較強,性能消耗更可控,可以實現更多渲染細節 4.適用于光照處理較少&#xf…

Quartus + VScode 實現模塊化流水燈

文章目錄 一、通過VScode編寫Verilog代碼二、模塊化編程三、代碼示例 一、通過VScode編寫Verilog代碼 1、下載Vscode 2、下載相關插件 搜索Verilog就會彈出有如圖所示的插件,下載并安裝 3、創建Quartus項目 4、創建完成后點擊Tools,選擇Options 然后在…

tryhackme——The Lay of the Land

文章目錄 一、網絡基礎設施1.1 內網1.2 DMZ區1.3 網絡枚舉(Network Enumeration) 二、域環境三、用戶和組管理四、安全解決方案4.1 基于主機的安全解決方案4.1.1 防病毒軟件4.1.2 Microsoft Windows Defender4.1.3 主機防火墻4.1.4 安全事件記錄與監控4.…

STM32---FreeRTOS消息隊列

一、簡介 1、隊列簡介: 隊列:是任務到任務,任務到中斷、中斷到任務數據交流的一種機制(消息傳遞)。 FreeRTOS基于隊列,實現了多種功能,其中包括隊列集、互斥信號量、計數型信號量、二值信號量…

2025年了,5G還有三個新變化

最近輿論開始討論5G為什么不火了?5G是不是停滯發展了。 實際上,5G不僅在發展,還迎來了它的升級版5G-A。 在今年西班牙舉行的世界移動通信大會上,5G-A就是焦點之一。 被譽為全球通信領域風向標的MWC,匯聚了華為、中興通…

SQLMesh SCD-2 時間維度實戰:餐飲菜單價格演化追蹤

場景背景:動態菜單價格管理 考慮某連鎖餐廳的菜單管理系統,需要記錄食品價格的歷史變更軌跡。業務需求包括: 記錄每次價格調整的時間點支持歷史價格查詢(如"2020年1月2日漢堡多少錢")維護當前有效價格清單…

失物招領|校園失物招領系統|基于Springboot的校園失物招領系統設計與實現(源碼+數據庫+文檔)

校園失物招領系統目錄 目錄 基于Springboot的校園失物招領系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、 管理員功能實現 (1) 失物招領管理 (2) 尋物啟事管理 (3) 公告管理 (4) 公告類型管理 2、用戶功能實現 (1) 失物招領 (2) 尋物啟事 (3) 公告 …

基于BClinux8部署Ceph 19.2(squid)集群

#作者&#xff1a;閆乾苓 文章目錄 1.版本選擇Ceph版本發布歷史目前官方在維護的版本 2.部署方法3.服務器規劃4.前置配置4.1系統更新4.2配置hosts cat >> /etc/hosts << EOFssh-keygenssh-copy-id ceph01ssh-copy-id ceph02ssh-copy-id ceph034.5 Python34.6 Syst…

安裝React開發者工具

我們在說組件之前&#xff0c;需要先安裝一下React官方推出的開發者工具&#xff0c;首先我們分享在線安裝方式 首先打開谷歌網上應用商店(針對谷歌瀏覽器)&#xff0c;在輸入框內搜索react&#xff0c;安裝如下插件&#xff1a; 注意安裝提供方為Facebook的插件&#xff0c;這…

linux中如何修改文件的權限和擁有者所屬組

目錄標題 chmod指令八進制形式權限修改文件擁有者所屬組的修改umask有關內容 chmod指令 chmod指令可以用來修改人員的權限其形式如下&#xff1a; u代表的是擁有者&#xff0c;g代表的是所屬組&#xff0c;o代表的是其他人&#xff0c;a表示所有人&#xff0c;如果你想增加權…

三主熱備架構

1.要求 角色主機名軟件IP地址用戶client192.168.72.90keepalivedvip192.168.72.100masterserverAkeepalived, nginx192.168.72.30backupserverBkeepalived, nginx192.168.72.31backupserverCkeepalived, nginx192.168.72.32webtomcat1tomcat192.168.72.41webtomcat2tomcat192.1…

windows 10 系統配置Node

目錄 什么是Node.js 什么是Npm Node.js環境搭建 下載 解壓 配置環境變量 npm配置 如何運行下載的Node.js項目 什么是Node.js 在 Node.js 之前&#xff0c;JavaScript 只能運行在瀏覽器中&#xff0c;作為網頁腳本使用&#xff0c;為網頁添加一些特效&#xff0c;或者和…

Windows Server 2025 使用 IIS 搭建 ASP.NET 3.5 網站

開啟遠程桌面 參考文章Windows server開啟遠程桌面教程打開服務管理器。ECS 配置安全組&#xff0c;開啟 3389Telnet 驗證網絡聯通性 telnet x.x.x.x 338安裝 Windows App&#xff0c;登錄驗證 安裝 ASP.NET 3.5 1.參考文章Windows Server 2012安裝 .NET Framework 3.5和 Wi…

開源模型應用落地-shieldgemma-2-4b-it模型小試-多模態內容安全檢測(一)

一、前言 在人工智能迅速發展的過程中,內容安全成為AI應用中的一個重要挑戰。谷歌團隊于2025年3月推出了一款名為ShieldGemma-2-4B-IT的模型,它以創新的多模態安全檢測能力,為行業樹立了新的開源責任AI標準。 與早期的僅支持文本審核的版本相比,ShieldGemma-2-4B-IT在谷歌的…

【數據預測】基于遺傳算法GA的LSTM光伏功率預測 GA-LSTM光伏功率預測【Matlab代碼#91】

文章目錄 【可更換其他算法&#xff0c;獲取資源請見文章第6節&#xff1a;資源獲取】1. 遺傳算法GA2. 長短期記憶網絡LSTM3. 基于GA-LSTM的光伏功率預測4. 部分代碼展示5. 運行結果展示6. 資源獲取 【可更換其他算法&#xff0c;獲取資源請見文章第6節&#xff1a;資源獲取】 …