鴻蒙開發HarmonyOS NEXT (二) 熟悉ArkUI

一、構造函數

構造一個商品類Item,然后利用foreach函數循環渲染

class Item {name: stringimage: ResourceStrprice: numberdiscount: numberconstructor(name: string, image: ResourceStr, price: number, discount: number = 0) {this.name = name;this.image = image;this.price = price;this.discount = discount;}
}//格式化代碼快捷鍵 CTRL + ALT + L
@Entry
@Component
struct Index {@State//商品數據private items: Array<Item> = [new Item('測試1', $r('app.media.head'), 1122, 122),new Item('test2', $r('app.media.startIcon'), 65),new Item('測試3', $r('app.media.background'), 120)]build() { // UI描述,內部聲明式UI結構Column({ space: 10 }) {Row() {Text("商品列表").fontWeight(FontWeight.Bold).fontSize(24)}.width('100%').margin({ bottom: 10 })ForEach(this.items,(item: Item) => {Row({ space: 8 }) {Image(item.image).width(100)Column({ space: 4 }) {Text(item.name).fontSize(20).fontWeight(FontWeight.Bold)if (item.discount) {Text('原件:¥' + item.price).fontSize(14).fontColor('#ccc').decoration({ type: TextDecorationType.LineThrough })Text('折扣價:¥' + (item.price - item.discount)).fontSize(16).fontColor('#F36')Text('補貼:¥' + item.discount).fontSize(16).fontColor('#F36')} else {Text('¥' + item.price).fontSize(16).fontColor('#F36')}}.alignItems(HorizontalAlign.Start)}.padding(10).borderRadius(10).width('100%').shadow(ShadowStyle.OUTER_DEFAULT_SM).backgroundColor('#fff')})}.backgroundColor('#f0f8ff').padding(20).width('100%').height('100%')}
}

二、布局組件List

上述商品列表案例有個致命缺陷——列表超出頁面后不可滑動。

List組件不僅可以解決這個問題,還自帶編輯、側滑、分組等功能,在移動端開發中很方便

可參考:

創建列表 (List)-ArkUI官網文檔

在案例for循環部分加上List

 List() {ForEach(this.items, (item: Item) => {ListItem() {Row({ space: 8 }) {Image(item.image).width(100)Column({ space: 4 }) {Text(item.name).fontSize(20).fontWeight(FontWeight.Bold)if (item.discount) {Text('原件:¥' + item.price).fontSize(14).fontColor('#ccc').decoration({ type: TextDecorationType.LineThrough })Text('折扣價:¥' + (item.price - item.discount)).fontSize(16).fontColor('#F36')Text('補貼:¥' + item.discount).fontSize(16).fontColor('#F36')} else {Text('¥' + item.price).fontSize(16).fontColor('#F36')}}.alignItems(HorizontalAlign.Start)}.padding(10).borderRadius(10).width('100%').shadow(ShadowStyle.OUTER_DEFAULT_SM).backgroundColor('#fff')}.margin(5)})}.width('100%')

寫在最后:

ArkUI對于有前端基礎的同學來說比較容易上手,類似于antdUI和elementUI雖然有的寫法不同,但華為提供的devEco編輯器自帶提示和鼠標懸浮文檔查詢功能,檢索用法很方便

上一篇 鴻蒙開發HarmonyOS NEXT (一) 入門-CSDN博客

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

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

相關文章

JAVA進階學習09

文章目錄 一、雙列集合Map1.1 雙列集合介紹1.2 雙列集合Map常見API1.3 Map集合遍歷方式1.3.1 通過集合的全部鍵來遍歷集合1.3.2 Map集合遍歷方式21.3.3 Map集合遍歷方式3 二、Map集合的實現類2.1 HashMap類2.2 LinkedHashMap2.3 TreeMap 三、可變參數四、Collections類五、集合…

Vue 2.0 與 3.0區別

Vue.js是一種流行的前端JavaScript框架&#xff0c;用于構建用戶界面和單頁面應用程序。隨著時間的推移&#xff0c;Vue.js已經從Vue2發展到了Vue3&#xff0c;這兩個版本在**生命周期、模板組件以及性能**等方面有顯著差異。具體分析如下&#xff1a; 1. **生命周期** - **Vue…

恭喜朱雀橋的越南薇妮她牌NFC山竹汁飲料,成為霸王茶姬奶茶主材

朱雀橋NFC山竹汁飲料&#xff1a;榮登霸王茶姬奶茶主材&#xff0c;非遺傳承的天然之選 近日&#xff0c;據小編了解到&#xff1a;霸王茶姬欣喜地宣布&#xff0c;成功與朱雀橋達成合作越南薇妮她VINUT牌NFC山竹汁飲料。這款商超產品憑借其卓越的品質與獨特的口感&#xff0c…

PostgreSQL安裝教程及文件介紹

Ubuntu 安裝和配置 PostgreSQL 以 Ubuntu Server 20.04&#xff0c;PostgreSQL 12 版本為例。 1. 安裝 使用如下命令&#xff0c;安裝指定版本的 PostgreSQL sudo apt install postgresql-12在 Ubuntu 20.04 中安裝 PostgreSQL 登錄您的 Ubuntu 系統并使用以下 apt 命令更新…

Java web應用性能分析之【prometheus監控指標體系】

Java web應用性能分析之【系統監控工具prometheus】_javaweb服務器性能監控工具-CSDN博客 Java web應用性能分析之【prometheusGrafana監控springboot服務和服務器監控】_grafana 導入 prometheus-CSDN博客 因為篇幅原因&#xff0c;前面沒有詳細說明Prometheus的監控指標&…

將手機上的已安裝應用拷貝出到電腦中

方法一&#xff1a;通過應用管理器 下載并安裝應用管理器&#xff1a;可以使用應用管理器如“ES文件瀏覽器”或“APK Extractor”。 提取APK文件&#xff1a; 打開應用管理器。 找到已安裝的應用程序列表。 選擇你想要提取的應用程序&#xff0c;然后選擇“提取”或“備份”選…

數據結構 —— 哈夫曼樹

數據結構 —— 哈夫曼樹 哈夫曼樹定義構造算法特性應用 哈夫曼編碼核心概念工作原理特點 我們今天來看哈夫曼樹&#xff1a; 哈夫曼樹 哈夫曼樹&#xff08;Huffman Tree&#xff09;&#xff0c;是一種特殊的二叉樹&#xff0c;由D.A. Huffman在1952年提出&#xff0c;主要用…

[面試題]計算機網絡

[面試題]Java【基礎】[面試題]Java【虛擬機】[面試題]Java【并發】[面試題]Java【集合】[面試題]MySQL[面試題]Maven[面試題]Spring Boot[面試題]Spring Cloud[面試題]Spring MVC[面試題]Spring[面試題]MyBatis[面試題]Nginx[面試題]緩存[面試題]Redis[面試題]消息隊列[面試題]…

ES報錯:解決too_many_clauses: maxClauseCount is set to 1024 報錯問題

解決too_many_clauses: maxClauseCount is set to 1024 報錯問題 問題場景報錯信息問題分析解決1. 優化查詢2. 增加maxClauseCount3. 改用其他查詢類型修改后的查詢示例 問題場景 查詢語句&#xff1a;查詢clcNo分類號包含分類O的所有文檔 {"match_phrase_prefix":…

社會與網絡的討論#1

“拒絕心靈雞湯” 都說人人平等&#xff0c;那請問一個有錢人看到一個掃大街的&#xff0c;能有幾個保證不產生厭惡感的&#xff1f; 你能確保&#xff0c;你的工資會比有關系的人的工資高嗎&#xff1f; 你進入公司&#xff0c;有有關系的人進入的方便嗎&#xff1f; 在學…

特產零售元宇宙:探索虛擬世界的商業機遇

在數字化時代&#xff0c;元宇宙作為一個全新的虛擬世界&#xff0c;正在逐漸改變我們的生活方式和商業模式。隨著技術的不斷發展&#xff0c;特產零售業也開始嘗試進入這個充滿無限可能的新領域。本文將探討特產零售元宇宙的概念、優勢以及面臨的挑戰&#xff0c;并分析其未來…

WAIC2024 | 華院計算邀您共赴2024年世界人工智能大會,見證未來科技革新

在智能時代的浪潮洶涌澎湃之際&#xff0c;算法已成為推動社會進步的核心力量。作為中國認知智能技術的領軍企業&#xff0c;華院計算在人工智能的廣闊天地中&#xff0c;不斷探索、創新&#xff0c;致力于將算法的潛力發揮到極致。在過去的時日里&#xff0c;華院計算不斷探索…

Java - Execl自定義導入、導出

1.需求&#xff1a;問卷星答 下圖框出區域&#xff0c;為用戶自定義字段問題及答案 2.采用技術EasyExcel 模板所在位置如下 /*** 導出模板** param response*/ Override public void exportTemplate(HttpServletResponse response) throws IOException {ClassPathResource c…

Metricbeat和Prometheus監控比較

Metricbeat和Prometheus是兩種常見的監控工具&#xff0c;它們都有收集和存儲系統和應用程序性能數據的功能&#xff0c;但它們的設計理念、實現方式和適用場景有所不同。以下是它們的相同點和不同點的詳細比較&#xff1a; 相同之處 數據收集&#xff1a; Metricbeat 和 Pro…

vue 使用 face-api.js 實現人臉識別

HTML 代碼如下 <div class="videoBox" id="videoBox"><video ref="videoPlayer" width="800" height="600" autoplay muted playsinline></video><canvas ref="overlay"></canvas>…

配置 Cmder 到鼠標右鍵

win Q 快捷鍵搜索 cmd&#xff0c;以管理員身份運行 在命令行輸入 cmder.exe /REGISTER ALL

OpenCloudOS開源的操作系統

OpenCloudOS 是一款開源的操作系統&#xff0c;致力于提供高性能、穩定和安全的操作系統環境&#xff0c;以滿足現代計算和應用程序的需求。它結合了現代操作系統設計的最新技術和實踐&#xff0c;為開發者和企業提供了一個強大的平臺。本文將詳細介紹 OpenCloudOS 的背景、特性…

品牌進行3D數字化轉型,有哪些優勢?

各行業都在經歷著從增量市場向存量市場的轉變&#xff0c;同時用戶的消費觀念也日趨成熟&#xff0c;更加注重產品的體驗和服務質量。 無論是線上購物平臺還是線下實體門店&#xff0c;提供個性化和增強體驗感的產品與服務已成為未來發展的核心驅動力&#xff0c;品牌轉型也迫…

SyncFolders文件備份—辦公人員必備

SyncFolders支持在兩個或多個文件夾之間同步文件&#xff0c;用戶可以將重要文件同步到多個位置&#xff0c;如備份硬盤、網絡共享文件夾或云存儲等。通過設定同步規則&#xff0c;可以自動備份和同步更新&#xff0c;減少手動操作的繁瑣&#xff0c;確保文件的安全和可訪問性。…

uniapp橫屏移動端卡片縮進輪播圖

uniapp橫屏移動端卡片縮進輪播圖 效果&#xff1a; 代碼&#xff1a; <!-- 簡單封裝輪播圖組件:swiperCard --> <template><swiper class"swiper" circular :indicator-dots"true" :autoplay"true" :interval"10000&quo…