鴻蒙5:布局組件

注意:博主有個鴻蒙專欄,里面從上到下有關于鴻蒙next的教學文檔,大家感興趣可以學習下

如果大家覺得博主文章寫的好的話,可以點下關注,博主會一直更新鴻蒙next相關知識

專欄地址: https://blog.csdn.net/qq_56760790/category_12794123.html

文章所屬類目(HarmonyOS 語言-ArkTS)

目錄

1. 布局

1.1 基礎線性布局

1.1.1 基本介紹

1.1.2 語法

1.1.3 屬性

Row

Column

1.1.4 用法

1.1.5 總結

1.2 線性布局小案例-練習題

1.3 線性布局小案例-百度首頁

1.4 堆疊布局

1.4.1 基本介紹

1.4.2 語法

1.4.3 用法


1. 布局

1.1 基礎線性布局

參考地址

文檔中心

1.1.1 基本介紹

Row 和Column的布局方式成為線性布局- 不是橫向排列就是縱向排列

Row:沿水平方向布局容器

Column:沿垂直方向布局的容器

1.1.2 語法

Row(value?:{space?: string | number })

參數名

類型

必填

說明

value

{space?: string | number }

橫向布局元素間距。

Column(value?: {space?: string | number})

參數名

類型

必填

說明

value

{space?: string | number}

縱向布局元素垂直方向間距。

1.1.3 屬性
Row

橫向布局-采用Row

  • alignItems 設置子元素在交叉軸方向的對齊格式

語法 alignItems(value: VerticalAlign)

VerticalAlign參數枚舉

  • justifyContent 設置子組件在水平方向上的對齊格式

語法 justifyContent(value: FlexAlign)

FlexAlign參數枚舉

Column

縱向布局-采用column

  • alignItems 設置子組件在水平方向上的對齊格式

語法:alignItems(value: HorizontalAlign)

參數HorizontalAlign:子組件在水平方向上的對齊格式。默認值:HorizontalAlign.Center

  • justifyContent 設置子組件在垂直方向上的對齊格式

語法:justifyContent(value: FlexAlign)

參數FlexAlign:子組件在垂直方向上的對齊格式。默認值:FlexAlign.Start

總結:屬性justifyContent 設置子元素在主軸方向的對其格式 參數是 FlexAlign枚舉

屬性alignItems 設置子元素在交叉軸(垂直主軸方向的軸)方向的對齊格式 Row 容器使用VerticalAlign枚舉 Column容器使用HorizontalAlign枚舉

1.1.4 用法
  • 橫向布局
@Entry@Componentstruct Index {build() {Column() {Row({space:15}){Text('第一個').width(100).height(100).backgroundColor(Color.Blue)Text('第二個').width(100).height(100).backgroundColor(Color.Yellow)Text('第三個').width(100).height(100).backgroundColor(Color.Pink)}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center)}.width('100%').height('100%')}}

  • 縱向布局
@Entry@Componentstruct Index {build() {Column() {Column({space:15}){Text('第一個').width(100).height(100).backgroundColor(Color.Blue)Text('第二個').width(100).height(100).backgroundColor(Color.Yellow)Text('第三個').width(100).height(100).backgroundColor(Color.Pink)}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)}.width('100%').height('100%')}}
1.1.5 總結

Row 和Column的布局方式成為線性布局- 不是橫向排列就是縱向排列

  • 線性布局中永遠不會產生換行
  • 均不支持出現滾動條
  • 橫向排列的垂直居中,總行排列的水平居中
  • 主軸-排列方向的軸
  • 側軸-排列方向垂直的軸

1.2 線性布局小案例-練習題

@Entry@Componentstruct Exercise {build() {Row({ space: 10 }) {Row({ space: 2 }) {Text('500').fontWeight(FontWeight.Bold)Text('總訪問量')}Row({ space: 2 }) {Text('120').fontWeight(FontWeight.Bold)Text('原創')}Row({ space: 2 }) {Text('200').fontWeight(FontWeight.Bold)Text('排名')}Row({ space: 2 }) {Text('100').fontWeight(FontWeight.Bold)Text('粉絲')}}.justifyContent(FlexAlign.SpaceEvenly).width('100%').height(60)}}

1.3 線性布局小案例-百度首頁

@Entry@Componentstruct Baidu {build() {Column() {Image('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png').width(160)Row() {TextInput().layoutWeight(2).borderRadius({topLeft: 6,bottomLeft: 6}).backgroundColor('#fff').border({ width: 2, color: '#ccc' }).height(40)Button('百度一下').layoutWeight(1).type(ButtonType.Normal).borderRadius({topRight: 6,bottomRight: 6}).backgroundColor('#3274f6')}.padding(20)}.width('100%').height('100%')}}

1.4 堆疊布局

參考地址

文檔中心

1.4.1 基本介紹

層疊布局通過Stack容器組件實現位置的固定定位與層疊,容器中的子元素依次入棧,后一個子元素覆蓋前一個子元素,子元素可以疊加,也可以設置位置。

層疊布局具有較強的頁面層疊、位置定位能力,其使用場景有廣告、卡片層疊效果等。

1.4.2 語法

Stack(value?: { alignContent?: Alignment })

1.4.3 用法

@Entry@Componentstruct StackDemo {build() {Column() {Stack({alignContent:Alignment.TopEnd}){Image('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png').width(160)Text('鴻蒙版').translate({y: 20})}Row() {TextInput().layoutWeight(2).borderRadius({topLeft: 6,bottomLeft: 6}).backgroundColor('#fff').border({ width: 2, color: '#ccc' }).height(40)Button('百度一下').layoutWeight(1).type(ButtonType.Normal).borderRadius({topRight: 6,bottomRight: 6}).backgroundColor('#3274f6')}.padding(20)}.width('100%').height('100%')}}

Stack的參數 可以設置子組件的排列方式-alignContent

  • Top(頂部)
  • TopStart(左上角)
  • TopEnd(右上角)
  • Start(左側)
  • End(右側)
  • Center(中間)
  • Bottom(底部)
  • BottomStart(左下角)
  • BottomEnd(右下角)

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

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

相關文章

Flink狀態和容錯-基礎篇

1. 概念 flink的狀態和容錯繞不開3個概念,state backends和checkpoint、savepoint。本文重心即搞清楚這3部分內容。 容錯機制是基于在狀態快照的一種恢復方式。但是狀態和容錯要分開來看。 什么是狀態,為什么需要狀態? 流計算和批計算在數…

【若依學習記錄】RuoYi后臺手冊——分頁實現

目錄 若依系統簡介 前端調用實現 前端調用舉例 后臺邏輯實現 若依系統簡介 RuoYi 是一個基于 Spring Boot、Apache Shiro、MyBatis 和 Thymeleaf 的后臺管理系統,旨在降低技術難度,助力開發者聚焦業務核心,從而節省人力成本、縮短項目周…

從臺式電腦硬件架構看前后端分離開發模式

在軟件開發領域,前后端分離早已成為主流架構設計理念。它將系統的業務邏輯處理與用戶界面展示解耦,提升開發效率與系統可維護性。有趣的是,我們日常生活中常見的臺式電腦硬件架構,竟與這一理念有著異曲同工之妙。今天,就讓我們從臺式電腦的硬件組成出發,深入探討其與前后…

可觀測性的哲學

在現代系統架構中,“可觀測性(Observability)”已不僅僅是一個工程實踐,是一種關于“理解世界”的哲學姿態, 還是一種幫助架構演變的認知工具。從柏拉圖的“洞穴寓言”出發,我們可以構建起一條從被動接受投影&#xff…

開疆智能CCLinkIE轉ModbusTCP網關連接傲博機器人配置案例

本案例是通過CClinkIE轉ModbusTCP網關,連接傲博機器人的配置案例 PLC配置 打開三菱PLC組態軟件GXWORK3設置CClinkIE一側的參數配置,首先設置PLC的IP地址 雙擊詳細設置進入CClinkIE配置 添加通用從站IP地址以及占用點數 設置好分配的軟元件,確…

Bash Shellshock

CVE-2014-6271(Bash Shellshock遠程命令注入漏洞) 該服務啟動后有路徑http://your-ip:port/victim.cgi和http://your-ip:port/safe.cgi。其中safe.cgi是新版頁面,victim是bash4.3生成的頁面。 漏洞位置在User-Agent中victim.cgi: User-Agent: () { foo; }; echo C…

以軟件系統開發為例,解釋PMO 與IPD、CMMI、項目管理什么區別和聯系

以「開發一套智能倉儲管理系統(WMS)」為例,拆解軟件項目經理視角下的IPD、CMMI、項目管理和PMO如何協同運作: 場景設定 項目目標:6個月內交付WMS系統,支持日均10萬訂單處理關鍵角色: 你&#x…

TDengine 3.3.5.0 新功能 —— 查看庫文件占用空間、壓縮率

1. 背景 TDengine 之前版本一直沒有通過 SQL 命令查看數據庫占用的磁盤空間大小,從 3.3.5.0 開始,增加了這個方便且實用的小功能,這里詳細介紹下。 2. SQL 基本語法 select expr from information_schema.ins_disk_usage [where condtion]…

螞蟻百寶箱體驗:如何快速創建“旅游小助手”AI智能體

螞蟻百寶箱作為站式智能體應用開發平臺,致力于為AI開發者提供簡單、高效、快捷的智能體創作體驗。作為業內領先的AI應用開發平臺,開發者可以根據自身的個性化需求,基于各式各樣的大模型來創建一個屬于自己的智能體應用。 螞蟻百寶箱&#xf…

AI助力JMeter—從靜態參數化到智能動態化的進化之路

Apache JMeter作為開源利器被廣泛應用于Web系統、API接口、數據庫及消息隊列等多場景性能驗證。而“變量的使用”作為測試腳本靈活性和可維護性的核心手段,決定了腳本的復用性、可擴展性和數據驅動能力。傳統的變量管理手段已難以應對大規模復雜測試任務中“動態化、…

第十六屆藍橋杯C/C++程序設計研究生組國賽 國二

應該是最后一次參加藍橋杯比賽了,很遺憾,還是沒有拿到國一。 大二第一次參加藍橋杯,印象最深刻的是居然不知道1s是1000ms,花了很多時間在這題,后面節奏都亂了,抗壓能力也不行,身體也不適。最后…

OpenCV計算機視覺實戰(12)——圖像金字塔與特征縮放

OpenCV計算機視覺實戰(12)——圖像金字塔與特征縮放 0. 前言1. 高斯金字塔1.1 應用場景1.2 實現過程 2. 拉普拉斯金字塔2.1 應用場景2.2 實現過程 3. 圖像融合實例3.1 應用場景3.2 實現過程 小結系列鏈接 0. 前言 圖像金字塔技術通過對原始圖像按不同分…

【案例】基于Python的生源數據可視化分析:從Excel處理到動態地圖展示

文章目錄 需求分析技術要點程序流程一些細節核心代碼表格的一些操作 心得體會代碼匯總 需求分析 請設計一個程序,要求能夠統計分析分散在不同表格中的數萬條信息,以信息中的身份證號碼或生源地代碼字段為目標字段,統計每一年全國各省份及本省…

設計模式 | 原型模式

原型模式通過克隆機制實現對象高效創建,是性能敏感場景的利器。本文結合C示例詳解實現原理、深拷貝陷阱、應用場景,并與工廠模式對比分析。 為何需要原型模式? 當遇到以下場景時,傳統構造方法面臨挑戰: 創建成本高&am…

Go 語言中的單元測試

1、如何編寫單元測試 在任何生產級別的項目開發中,單元測試都扮演著至關重要的角色。盡管許多初創項目在早期可能忽略了它,但隨著項目逐漸成熟并成為核心業務,為其編寫健壯的單元測試是保障代碼質量和項目穩定性的必然選擇。本文將帶您快速掌…

8. 接口專業測試報告生成pytest-html

pytest-html 終極指南:打造專業級接口測試報告 在接口自動化測試中,清晰的測試報告是質量保障的關鍵。本文將深入解析如何通過pytest-html插件生成專業級測試報告。 一、核心安裝與基礎使用 快速安裝(國內鏡像) pip install -i …

Day45 Tensorboard使用介紹

目錄 一、tensorboard的發展歷史和原理及基本操作 1.1 發展歷史 1.2 tensorboard的原理 1.3 日志目錄自動管理 1.4 記錄標量數據(Scalar) 1.5 可視化模型結構(Graph) 1.6 可視化圖像(Image) 1.7 記…

用AI給AR加“智慧”:揭秘增強現實智能互動的優化秘密

用AI給AR加“智慧”:揭秘增強現實智能互動的優化秘密 引子:增強現實,到底還能怎么更聰明? 還記得當年Pokmon GO火爆全球的場景嗎?玩家們手機對準街頭,虛擬小精靈活靈活現地跳出來,那就是增強現實(AR)最經典的應用之一。隨著硬件發展和算法進步,AR正逐步從“炫酷玩具…

1 Studying《Computer Vision: Algorithms and Applications 2nd Edition》1-5

目錄 Chapter 1 Introduction 1.1 什么是計算機視覺? 1.2 簡史 1.3 書籍概述 1.4 樣本教學大綱 1.5 符號說明 1.6 其他閱讀材料 Chapter 2 Image formation 2.1 幾何基本元素和變換 2.2 光度圖像形成 2.3 數碼相機 2.4 其他閱讀材料 2.5 練習 Chapter…

Augment插件macOS

macOS蘋果電腦vscode-augment免費額度續杯跑滿 前言 在AI輔助編程日益普及的今天,Augment作為VS Code中的智能代碼助手,為開發者提供了強大的代碼生成和優化功能。然而,免費版本每月300次的使用限制往往讓重度用戶感到困擾。本文將詳細介紹如…