前言
廣告功能基本上算是每個軟件的必備功能之一,常見的除了輪播圖,列表之外,就是上下滾動的形式。廣告內容不僅支持上下滾動,還需要支持手勢操作,以及關閉當前正在預覽的廣告內容。在 Android 或 iOS 上要想實現這樣的功能并不容易,那么在鴻蒙上怎么實現這樣的功能呢?本篇文章教你使用最簡單的方式實現一個支持上下滾動的廣告控件,建議點贊收藏!
實現效果
需求分析
- 廣告控件支持基本的上下自動滾動和手動滑動。
- 支持廣告刪除功能。
- 支持自定義播放時間間隔,是否自動播放等功能。
技術實現
- 首先從需求上來看,需要一個支持上下滾動的控件作為廣告的容器,一般的做法是先從現有的容器組件中查找是否能滿足需求的組件。這里使用的是官方提供的 Swiper 組件。Swiper 組件不僅支持內容的上下滑動還支持左右滑動。
Swiper(this.swiperController)
- 確定好容器后,下面就是初始化數據填充組件,這里使用數組作為數據源,用 ForEach 遍歷數據源,注意如果數據量較大,為了提高更好的性能,使用 LazyForEach 懶加載的方式替代 ForEach。
ForEach(this.data, (item: string,index:number) = > {
Row() {
Text(item)
.fontColor(0xfff5a51c)
.fontSize(12)
.layoutWeight(1)
Image($r("app.media.service_notice_close"))
.width(16)
.height(16)
.onClick(()= >{
this.data.splice(index,1)
})
}.width(FULL_WIDTH)
.padding({left:20,right:20})
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.Start)
.width(FULL_WIDTH)
.onClick(()= >{
console.log("點擊了"+item)
})
}, (item: string) = > item)
- 刪除數據,由于鴻蒙提供了@State裝飾器用來修飾數據源,當數據源發生改變時,UI 也會發生相應的變化,這里只需要對數組進行操作即可。
this.data.splice(index,1) //index 指的是當前位置下標,1代表要刪除的個數
- 設置自動播放時間,以及自動播放,手勢等功能。Swiper 組件提供了不少屬性用來實現這些功能。如 disableSwiper,autoPlay 等屬性。
.disableSwipe(false) //是否支持手動操作
.autoPlay(true) //是否自動播放
.interval(1000) //播放時間間隔
.vertical(true) //內容上下切換
.indicator(false)
總結
對比 Android 和 iOS 來說,鴻蒙在實現上相對簡單,而且支持功能都能夠通過組合控件實現,只要理解需求,分析透徹,再復雜的功能都能夠實現,基本上滿足日常需求。學會的小伙伴快動手試試吧!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Android
+關注
關注
12文章
3971瀏覽量
129848 -
鴻蒙
+關注
關注
59文章
2564瀏覽量
43876 -
HarmonyOS
+關注
關注
80文章
2127瀏覽量
32452
發布評論請先 登錄
相關推薦
熱點推薦
HarmonyOS實戰: 城市選擇功能的快速實現
最近在日常開發過程中,需要實現城市選擇功能,同時支持模糊搜索。看似簡單的功能動手實現起來卻有很多難點。本篇文章詳細記錄開發過程中遇到的問題和對應的解決方法,希望能夠幫助你,建議點贊收藏!
HarmonyOS實戰:3秒實現一個自定義輪播圖
那么簡單,需要考慮的細節很多。不過在 HarmonyOS 中實現一個輪播圖卻是十分的簡單,本篇文章教你在最短的時間內快速
HarmonyOS實戰:實現任意拖動的應用懸浮窗口
為了增加應用程序功能的豐富性和便利性,很多應用都會提供一個懸浮窗口實現多頁面顯示。特別是一些性能檢測工具,比如 dokit 。在鴻蒙上怎么實現
【HarmonyOS 5】桌面快捷方式功能實現詳解
【HarmonyOS 5】桌面快捷方式功能實現詳解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 在移動應用開發中,如何讓用戶

快速入門——LuatOS:sys庫多任務管理實戰攻略!
在嵌入式開發中,多任務管理是提升系統效率的關鍵。本教程專為快速入門設計,聚焦LuatOS的sys庫,通過實戰案例帶你快速掌握多任務創建、調度與同步技巧。無論你是零基礎新手還是希望快速提

HarmonyOS5云服務技術分享--ArkTS開發Node環境
氣的方式探索這個功能,結尾還有實用總結和鼓勵彩蛋哦~?
? 一、HarmonyOS云函數開發:核心能力與價值
HarmonyOS的云函數(Serverless)為開發者提供了??無服務器架構??的便捷
發表于 05-22 17:21
名單公布!【書籍評測活動NO.56】極速探索HarmonyOS NEXT:純血鴻蒙應用開發實踐
的各個關鍵領域。另外,書中還提供了基于HarmonyOS NEXT 的完整實戰項目和3個特色案例,并附帶了全套的源代碼。
本書適合鴻蒙應用開發工程師、移動應用開發工程師以及對鴻蒙應用開發感興趣的讀者
發表于 01-20 16:53
HarmonyOS NEXT 原生應用開發:社交聊天對話過程實現
一、實現思路
本DEMO旨在展示如何在HarmonyOS NEXT平臺上,利用ArkTS開發語言構建一個簡易的社交聊天對話界面。用戶可以在此
發表于 01-07 10:55
《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發
和優化用戶體驗。 學、練、考一體化,幫助開發者快速上手HarmonyOS開發,實現職業進階
《HarmonyOS第
發表于 01-02 14:24
HarmonyOS開發寶典震撼來襲,卓越應用開發之旅一觸即發,輕松啟程!
HarmonyOS賦能產品,全面護航開發者從HarmonyOS感知、學習進階、開發實踐至技術支持的全旅程,助力開發者高效開發!
我們傾心打造了一個涵蓋高頻場景的最佳實踐案例庫,匯聚豐富
發表于 12-05 08:57
慶科信息獲HarmonyOS高級應用開發能力認證!助力品牌快速打造鴻蒙原生應用
近日,上海慶科信息技術有限公司榮獲HarmonyOS應用開發者高級認證,公司在華為鴻蒙生態的開發能力得到進一步拓展,能夠幫助客戶快速開發基于HarmonyOS Next的鴻蒙原生應用,

評論