【鴻蒙HarmonyOS】鴻蒙app開發入門到實戰教程(三):實現一個音樂列表的頁面

鴻蒙里面,實現一個音樂播放的列表,模擬數組的數據展示

實現效果

在這里插入圖片描述

代碼實現

  • 準備數據
songs:SongItemTypes[] = [{img:'https://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/0.jpg',name:'直到世界的盡頭',author:'WANDS'},{img:'https://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/1.jpg',name:'畫',author:'趙磊'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/2.jpg',name:'Sweet Dreams',author:'TPaul sax / Eurythmics'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/3.jpg',name:'奢香夫人',author:'鳳凰傳奇'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/4.jpg',name:'空心',author:'光澤'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/5.jpg',name:'反轉地球',author:'潘瑋柏'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/6.jpg',name:'No.9',author:'T-ara'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/7.jpg',name:'孤獨',author:'G.E.M.鄧紫棋'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/8.jpg',name:'Lose Control',author:'Hedley'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/9.jpg',name:'倩女幽魂',author:'張國榮'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/10.jpg',name:'反轉地球',author:'潘瑋柏'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/11.jpg',name:'苦笑',author:'汪蘇瀧'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/12.jpg',name:'一生所愛',author:'盧冠廷 / 莫文蔚'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/13.jpg',name:'月半小夜曲',author:'李克勤'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/14.jpg',name:'Rolling in the peep',author:'Adele'},{img:'http://yjy-teach-oss.oss-cn-beijing.aliyuncs.com/HeimaCloudMusic/1.jpg',name:'Beyond',author:'海闊天空'}]
  • 標題的實現
Text("猜你喜歡").fontColor('#fff').width('100%').margin({bottom:10})
  • 列表的實現
List(){ForEach(this.songs,(item:SongItemTypes,index:number) => {ListItem(){Row(){Stack(){Image(item.img).width(80).border({radius:8}).margin({right:10})if(this.currentIndex == index){Image($r('app.media.wave')).width(40)}}.alignContent(Alignment.Bottom)Column(){Text(item.name).fontColor(Color.White).width('100%')Row(){Text("Vip").fontColor(Color.White).padding({top:2,right:5,bottom:2,left:5}).fontColor(Color.Grey).margin({right:10}).border({width:1,radius:8,color:Color.Grey})Text(item.author).fontColor(Color.White).fontColor(Color.Grey)}.width('100%').margin({top:20})}.layoutWeight(1)Image($r('app.media.more')).width(24).fillColor('#fff')}.width('100%').height(80).onClick(() => {this.currentIndex = index})}.margin({bottom:10})
})
}.scrollBar(BarState.Off)
  • 點擊當前項的時候,出現音量閃爍的圖片
if(this.currentIndex == index){Image($r('app.media.wave')).width(40)
}

完整代碼

import {SongItemTypes} from '../types'@Entry
@Component
struct  FourthPage {@State currentIndex:number = -1build() {Column(){Text("猜你喜歡").fontColor('#fff').width('100%').margin({bottom:10})List(){ForEach(this.songs,(item:SongItemTypes,index:number) => {ListItem(){Row(){Stack(){Image(item.img).width(80).border({radius:8}).margin({right:10})if(this.currentIndex == index){Image($r('app.media.wave')).width(40)}}.alignContent(Alignment.Bottom)Column(){Text(item.name).fontColor(Color.White).width('100%')Row(){Text("Vip").fontColor(Color.White).padding({top:2,right:5,bottom:2,left:5}).fontColor(Color.Grey).margin({right:10}).border({width:1,radius:8,color:Color.Grey})Text(item.author).fontColor(Color.White).fontColor(Color.Grey)}.width('100%').margin({top:20})}.layoutWeight(1)Image($r('app.media.more')).width(24).fillColor('#fff')}.width('100%').height(80).onClick(() => {this.currentIndex = index})}.margin({bottom:10})})}.scrollBar(BarState.Off)}.backgroundColor("#000").width('100%').height('100%').padding({left:10,right:10}).expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.TOP,SafeAreaEdge.BOTTOM])}
}

在這里插入圖片描述
這樣就實現了一個模擬的音樂列表頁面

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

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

相關文章

2025年滲透測試面試題總結-2025年HW(護網面試) 47(題目+回答)

安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具,歡迎關注。 目錄 2025年HW(護網面試) 47 1. UDF提權 2. 命令執行與代碼執行的區別 3. 文件包含利用姿勢 4. 漏洞復現流程 …

iPhone 數據擦除軟件評測(最新且全面)

當您準備出售、捐贈或回收 iPhone 時,僅僅恢復出廠設置并不足以保證您的個人數據徹底消失。專業的 iPhone 數據擦除軟件采用先進的技術,確保您的敏感信息永久無法恢復。本文回顧了十種流行的 iPhone 數據擦除工具,詳細介紹了它們的功能、優點…

Qt 將觸摸事件轉換為鼠標事件(Qt4和Qt5及以上版本)

在Qt中,觸摸事件(QTouchEvent)和鼠標事件(QMouseEvent)是兩種不同的輸入事件類型。通常情況下,觸摸事件不會自動轉換為鼠標事件,因為它們代表的是不同的輸入設備(觸摸屏 vs 鼠標&…

Blender 云渲染高效流程:渲染 101 集群加速實戰?

一、核心優勢:適配 Blender 全場景需求? ? 全渲染器深度兼容? Cycles(CPU/GPU 模式):云端 4090 顯卡渲染速度比本地快 12 倍,支持 8K 分辨率 16K 紋理無壓力? Eevee 實時渲染:集群同步輸出預覽動畫&am…

SQL學習記錄01

什么是SQL? Structured Query Language (結構化查詢語言),與關系型數據庫進行通信的標準語言。什么是數據庫?“按照數據結構來組織、存儲、和管理數據的倉庫。”一個長期存儲在計算機內的、有組織的、可共享的、統一管…

醫療項目如何應對法規變更?

醫療項目應對法規變更的關鍵策略包括建立法規監測體系、及時內部培訓和溝通、調整業務流程和合規標準、技術系統快速迭代升級。 其中,建立有效的法規監測體系尤其重要。這意味著企業需要實時關注監管機構發布的政策更新和公告,迅速理解法規變化內容及對自…

AI Top10

AI 前十排名排名團隊/機構名稱國家核心優勢領域1DeepMind英國強化學習、Alpha系列模型2OpenAI美國GPT系列、多模態大模型3DeepSeek中國高效NLP模型、開源生態建設4Google Brain美國Transformer架構、TensorFlow框架5Meta AI (FAIR)美國計算機視覺、Llama系列模型6NVIDIA Resear…

LabVIEW通知器函數應用

介紹LabVIEW通知器(Notifier)函數,演示兩類并行循環通信場景:單對循環數據交互、多循環通知聚合,含程序框圖(數據發送 / 接收、多循環通知)與前面板(數據顯示)。功能說明…

推薦《Python 編程:從入門到實踐》之Python編程的基礎知識

在 Python 學習資源琳瑯滿目的當下,《Python 編程:從入門到實踐》脫穎而出,堪稱 Python 入門的不二之選。本書由經驗豐富的教育工作者撰寫,以清晰易懂的語言和循序漸進的方式,引領讀者從 Python 的基礎語法逐步邁向實際…

Kafka入門和基礎配置

目錄Kafka入門消息引擎系統ABC快速搞定Kafka術語kafka三層消息架構名詞術語Kafka基礎Kafka部署參考重要配置參數Broker端參數Topic級別參數JVM參數Kafka是消息引擎系統,也是分布式流處理平臺Kafka入門 消息引擎系統ABC 民間版:系統 A 發送消息給消息引…

OPENPPP2 VEthernet 網絡協議堆棧(CTCP)VNetStack 深度技術解析

🌐 OPENPPP2 VEthernet 網絡協議堆棧(CTCP)VNetStack 深度技術解析🏗? 一、系統架構全景圖 #mermaid-svg-FdlbKZCGQDDbvOL6 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermai…

Gartner發布2025年中國網絡安全成熟度曲線:網絡安全的重點正轉向保護AI、推動業務轉型和增強組織韌性

網絡安全的重點正轉向保護人工智能、推動業務轉型和增強組織韌性。首席信息官及其安全和風險管理主管可以利用這份技術成熟度曲線來識別實用且高價值的技術和實踐,從而保持安全和敏捷。 戰略規劃假設 到2027年,60%的中國大型組織將在安全運營中心&#x…

網絡準入控制系統的作用解析,2025年保障企業入網安全第一道防線

在當今數字化時代,網絡已成為企業運營的基礎,隨著網絡的廣泛應用,網絡準入控制系統作為保障網絡安全的重要手段,正發揮著至關重要的作用。保障網絡安全網絡準入控制系統如同網絡的忠誠衛士,它為網絡大門安裝了智能鎖&a…

java基礎(day09)

目錄 1.繼承的作用 2.繼承樹 3.protected和super protected super 注:super/this()--構造方法,第一行,一般不同時出現 4.向上向下轉型 向上轉型 向下轉型 final 小結 1.繼承的作用 理解:首先就是可以實現代碼復用&#x…

如何進行選擇。

初始理解問題 首先,我們需要明確題目在問什么。題目“House Robber”描述的是一個強盜在一排房屋前,每個房屋都有一定數量的錢。強盜不能連續搶劫兩個相鄰的房屋,否則會觸發警報。目標是搶劫到最多的錢。 動態規劃的思路 這個問題可以使用動態…

PHP語法高級篇(三):Cookie與會話

Cookie與會話在 Web 編程中十分實用:Cookie 能實現一周免登錄,還能記住用戶的主題偏好;會話可保存當前用戶信息,也能臨時存儲購物車數據。本篇文章將記錄Cookie與會話的學習過程。 一、Cookie cookie 常用于識別用戶。cookie 是服…

11. JVM中的分代回收

1. JVM介紹和運行流程-CSDN博客 2. 什么是程序計數器-CSDN博客 3. java 堆和 JVM 內存結構-CSDN博客 4. 虛擬機棧-CSDN博客 5. JVM 的方法區-CSDN博客 6. JVM直接內存-CSDN博客 7. JVM類加載器與雙親委派模型-CSDN博客 8. JVM類裝載的執行過程-CSDN博客 9. JVM垃圾回收…

基于PaddleOCR的營業執照識別與數據分析系統

基于PaddleOCR的營業執照識別與數據分析系統 1. 項目概述 本項目旨在利用百度PaddleOCR技術識別營業執照圖片中的關鍵信息,結合自然語言處理(NLP)和卷積神經網絡(CNN)對OCR結果進行分類處理,最后對識別出的收入流水數據進行深度分析與可視化展示。系統將實現從圖像識別到數…

SpringBoot JSON字典序列化翻譯

🧩 一、效果預期 Data public class UserVO {private String status;DictTranslate(type "user_status")private String statusName; }最終返回 JSON: {"status": "1","statusName": "啟用" }&#…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一個WebUI自動化框架(5)失敗用例截圖與重試

在UI自動化測試用例執行過程中,經常會有很多不確定的因素導致用例執行失敗,比如網絡原因、環境問題等,所以我們有必要引入重試機制(失敗重跑),來提高測試用例執行穩定性。準備工作:我們在進行失…