成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony使用Swiper組件實現(xiàn)輪播圖

系統(tǒng) OpenHarmony
OpenHarmony可以使用Swiper輪播組件實現(xiàn)輪播圖。本例基于橘子購物示例應(yīng)用,為大家介紹輪播組件Swiper,該組件提供滑動輪播顯示的能力。

想了解更多關(guān)于開源的內(nèi)容,請訪問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

場景說明

輪播圖是一個在固定區(qū)域內(nèi)輪流展示多張圖片或文本信息的組件。輪播圖會在預(yù)設(shè)時間間隔內(nèi),自動或手動切換到下一張圖片。輪播圖的應(yīng)用場景包括首頁輪播圖、圖片展示、廣告推廣和新聞資訊等,作用主要是通過多張圖片的切換,提高頁面的信息密度,增加視覺沖擊力,為用戶呈現(xiàn)更全面、更直觀的信息。OpenHarmony可以使用Swiper輪播組件實現(xiàn)輪播圖。

本例基于橘子購物示例應(yīng)用,為大家介紹輪播組件Swiper,該組件提供滑動輪播顯示的能力。

效果呈現(xiàn)

橘子購物示例應(yīng)用首頁輪播圖的實現(xiàn)效果如下:

OpenHarmony使用Swiper組件實現(xiàn)輪播圖-開源基礎(chǔ)軟件社區(qū)OpenHarmony使用Swiper組件實現(xiàn)輪播圖-開源基礎(chǔ)軟件社區(qū)

開發(fā)實現(xiàn)

在橘子購物示例應(yīng)用中,輪播圖實現(xiàn)的核心代碼位于:OrangeShopping/feature/navigationHome/src/main/ets/components/home/Swiper.ets。

橘子購物示例應(yīng)用中輪播圖部分代碼如下:

import { INDEX_DATA } from '../../mock/ProductsData'

@Component
export struct SwiperComponent {
  @StorageProp('curBp') curBp: string = 'md'

  build() {
    Swiper() {
      ForEach(INDEX_DATA, item => {
        Image(item.img)
          .objectFit(ImageFit.Cover)
          .width('100%')
          .height('100%')
          .borderRadius(16)
      })
    }
    .padding({ left: 12, right: 12 })
    .height(170)
    .autoPlay(true)
    .itemSpace(20)
    .displayCount(this.curBp === 'sm' ? 1 : this.curBp === 'md' ? 2 : 3)
    .indicatorStyle({
      selectedColor: $r('app.color.red'),
      color: $r('app.color.white')
    })
  }
}

接下來,我們一起學習下這些代碼。

組件代碼

在上述代碼中,在Swiper組件中通過ForEach函數(shù)遍歷INDEX_DATE這個SwiperModel數(shù)組,將每一個SwiperModel對象中的圖片用Image組件展示出來。

另外,通過Swiper的.displayCount()屬性對不同尺寸的窗口設(shè)置不同的每頁子組件顯示個數(shù)。此處狀態(tài)變量curBp被StorageProp裝飾器所裝飾,將與AppStorage建立單向數(shù)據(jù)綁定,該狀態(tài)變量的值將使用AppStorage中的值進行初始化,AppStorage中的屬性值的更改會導(dǎo)致綁定的UI組件進行狀態(tài)更新。裝飾器在這里不做贅述,有興趣可以查看文檔:應(yīng)用級變量的狀態(tài)管理 · HarmonyOS應(yīng)用開發(fā)。

對于屏幕尺寸進行說明:xs代表最小寬度類型設(shè)備,sm代表小屏,md代表中屏,lg代表大屏。

代碼中涉及到的Swiper組件的特有屬性用法如下,如果需要詳細了解輪播組件,可以查看:輪播組件(Swiper) · 開發(fā)指南。也可以查閱Swiper容器組件 · HarmonyOS應(yīng)用開發(fā)了解更多Swiper組件屬性。

名稱

參數(shù)類型

描述

autoPlay

boolean

子組件是否自動播放,自動播放狀態(tài)下,導(dǎo)航點不可操作。默認值:false

itemSpace

number | string

設(shè)置子組件與子組件之間間隙。默認值:0

displayCount8+

number | string

設(shè)置一頁中顯示子組件的個數(shù),設(shè)置為“auto”時等同于SwiperDisplayMode.AutoLinear的顯示效果。默認值:1

indicatorStyle8+

{left?: Length,top?: Length,right?: Length,bottom?: Length,size?: Length,mask?: boolean,color?: ResourceColor,selectedColor?: ResourceColor}

設(shè)置導(dǎo)航點樣式:- left: 設(shè)置導(dǎo)航點距離Swiper組件左邊的距離。- top: 設(shè)置導(dǎo)航點距離Swiper組件頂部的距離。- right: 設(shè)置導(dǎo)航點距離Swiper組件右邊的距離。- bottom: 設(shè)置導(dǎo)航點距離Swiper組件底部的距離。- size: 設(shè)置導(dǎo)航點的直徑。- mask: 設(shè)置是否顯示導(dǎo)航點蒙層樣式。- color: 設(shè)置導(dǎo)航點的顏色。- selectedColor: 設(shè)置選中的導(dǎo)航點的顏色。

輪播圖少不了和Image組件打交道,如果想要了解更多Image組件屬性,請查閱:Image-基礎(chǔ)組件 · HarmonyOS應(yīng)用開發(fā);如果想要獲取Image組件的使用示例,請查閱:顯示圖片(Image) · OpenHarmony/docs - Gitee.com。

橘子購物示例應(yīng)用輪播組件中涉及的Image組件的特有屬性用法如下:

名稱

參數(shù)類型

默認值

描述

objectFit

ImageFit

Cover

設(shè)置圖片的縮放類型。

其中,ImageFit參數(shù)包含如下選項:

名稱

描述

Contain

保持寬高比進行縮小或者放大,使得圖片完全顯示在顯示邊界內(nèi)。

Cover

保持寬高比進行縮小或者放大,使得圖片兩邊都大于或等于顯示邊界。

Auto

自適應(yīng)顯示

Fill

不保持寬高比進行放大縮小,使得圖片充滿顯示邊界。

ScaleDown

保持寬高比顯示,圖片縮小或者保持不變。

None

保持原有尺寸顯示。

導(dǎo)入和導(dǎo)出

export:在聲明時將 SwiperComponent 這個組件導(dǎo)出,導(dǎo)出的組件可以被其他ets文件導(dǎo)入。

import:首行使用import從相對路徑../../mock/ProductsData這個文件中導(dǎo)入INDEX_DATA常量數(shù)組

export const INDEX_DATA: Array<SwiperModel> = [
  { id: 0, img: $r('app.media.banner_movie1') },
  { id: 1, img: $r("app.media.banner_movie3") },
  { id: 2, img: $r('app.media.banner_movie1') },
  { id: 3, img: $r("app.media.banner_movie3") }
]

SwiperModel的定義,用于構(gòu)建一個輪播對象實例。

export class SwiperModel {
  constructor(public id: number, public img: Resource) {
    this.id = id
    this.img = img
  }
}

資源的分類與訪問

應(yīng)用開發(fā)中使用的各類資源文件,需要放入特定子目錄中存儲管理。resources目錄包括三大類目錄,一類為base目錄,一類為限定詞目錄,還有一類為rawfile目錄。stage模型多工程情況下共有的資源文件放到AppScope下的resources目錄,base目錄默認存在。

base目錄的二級子目錄為資源組目錄,用于存放字符串、顏色、布爾值等基礎(chǔ)元素,以及媒體、動畫、布局等資源文件。

在工程中,通過$r('app.type.name')的形式引用應(yīng)用資源,$r是一個全局函數(shù),接收一個字符串路徑并返回這個資源文件。app代表應(yīng)用內(nèi)resources目錄中定義的資源;type代表資源類型(或資源的存放位置),可以取“color”、“float”、“string”、“plural”、“media”,name代表資源命名,由開發(fā)者定義資源時確定。

應(yīng)用使用某資源時,系統(tǒng)會根據(jù)當前設(shè)備狀態(tài)優(yōu)先從相匹配的限定詞目錄中尋找該資源。只有當resources目錄中沒有與設(shè)備狀態(tài)匹配的限定詞目錄,或者在限定詞目錄中找不到該資源時,才會去base目錄中查找。rawfile是原始文件目錄,不會根據(jù)設(shè)備狀態(tài)去匹配不同的資源。

本例中對圖片的引用 "app.media.banner_movie1" 和對顏色的引用$r('app.color.white'),分別對應(yīng)resources/base/media/banner_movie1.png這張圖片和resources/base/element/color.json這個json文件中的white顏色值。

關(guān)于資源的分類與訪問,此處不做詳細描述。官方資料見參考文檔:資源分類與訪問 · HarmonyOS應(yīng)用開發(fā)。

想了解更多關(guān)于開源的內(nèi)容,請訪問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2018-01-08 16:19:04

微信程序輪播圖

2016-12-01 09:24:56

Android

2018-04-16 14:39:10

Vue輪播切換

2022-03-11 20:31:35

canvasHarmony鴻蒙

2022-09-19 19:16:42

輪播圖has

2024-06-11 00:00:00

前端輪播圖硬件

2022-03-01 16:09:06

OpenHarmon鴻蒙單選組件

2022-07-26 14:40:42

ArkUIJS

2022-09-15 15:04:16

ArkUI鴻蒙

2015-07-21 12:30:15

Swift輪播圖無限循環(huán)

2023-08-24 16:45:16

應(yīng)用開發(fā)父自定義組件

2022-09-02 15:17:04

ArkUI鴻蒙

2022-06-16 09:55:58

css輪播圖

2022-02-14 14:14:02

鴻蒙數(shù)據(jù)可視化JS

2022-08-17 16:38:46

WLAN接口組件功能

2021-03-10 15:03:40

鴻蒙HarmonyOS應(yīng)用

2024-08-15 08:56:17

2022-06-01 22:35:25

滑桿組件鴻蒙

2023-07-17 16:13:21

組件模塊開發(fā)的鴻蒙
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中文字幕视频在线免费 | 国产精品乱码一区二三区小蝌蚪 | 国产精品区二区三区日本 | 99精品欧美| 久久日韩粉嫩一区二区三区 | 亚洲永久入口 | 亚洲欧美日韩中文在线 | 正在播放国产精品 | 一区二区在线免费观看视频 | 欧产日产国产精品99 | 国产精品视频一二三区 | 国产精品一区二区在线免费观看 | 一区二区不卡视频 | 午夜视频在线免费观看 | 亚洲成人动漫在线观看 | 色综合久久久 | 一级一级毛片免费看 | 久久久久一区 | www.狠狠干 | 91精品国产综合久久久久久 | 成人福利网 | 欧美成人免费 | 免费成人高清 | 韩日一区二区 | 精品视频一区二区在线观看 | 毛片99 | 亚洲精品久久久久久久久久久久久 | 国产精品久久久久久久久久久新郎 | 毛片一级电影 | 日韩高清一区二区 | 91精品国产综合久久久久 | 亚洲顶级毛片 | 日韩 欧美 二区 | 亚洲福利网| 成人欧美一区二区三区在线观看 | 蜜桃色网 | 欧美精品一区二区在线观看 | 欧美一级淫片免费视频黄 | 国产精品久久久久久久7电影 | 久久精品99 | 久久婷婷色 |