【鸿蒙 HarmonyOS】Swiper组件

news2024/10/6 4:04:28

一、背景

项目中通常会遇到图片轮播,内容轮播的场景;如:在一些应用首页显示推荐的内容时,需要用到轮播显示的能力。

二、源码地址

✍Gitee开源项目地址👉:https://gitee.com/cheinlu/harmony-os-next-swiper

文档地址👉:文档中心

三、实现效果

  

四、代码示例

@Entry
@Component
struct Index {
  //轮播图数据源
  @State swiperList: ResourceStr[] = [
    $r("app.media.swiper_one"), $r("app.media.swiper_two"), $r("app.media.swiper_three"), $r("app.media.swiper_four"),
    $r("app.media.swiper_five")
  ]
  @State selectedIndex: number = 0 //默认选中索引为0

  build() {
    Stack({ alignContent: Alignment.Bottom }) {
      Swiper() {
        ForEach(this.swiperList, (item: ResourceStr, index: number) => {
          Image(item)
            .width('100%')
            .height('100%')
        })
      }
      .onChange((index: number) => {
        this.selectedIndex = index
      })
      .autoPlay(true)
      .indicator(false)
      .itemSpace(0)
      .width('100%')
      .height('100%')

      //此处为自定义角标
      if (this.swiperList.length > 1) {
        List({ space: 5 }) {
          ForEach(this.swiperList, (item: ResourceStr, index: number) => {
            ListItem() {
              Image(this.selectedIndex === index ? $r("app.media.carousel_blue") : $r("app.media.carousel_gary"))
                .width(20)
                .aspectRatio(1)
            }
          })
        }
        .listDirection(Axis.Horizontal)
        .align(Alignment.Center)
        .enableScrollInteraction(false)
        .hitTestBehavior(HitTestMode.Transparent)
        .constraintSize({ maxWidth: '90%' })
        .height(20)
        .margin({ left: 20, bottom: 20, right: 20 })
      }
    }
  }
}

4.1、属性说明

autoPlay:子组件是否自动播放。默认值:false

indicator:是否启用导航点指示器。默认值:true

itemSpace:设置子组件与子组件之间间隙。默认值:0。说明:不支持设置百分比。

4.2、自定义角标

官方文档默认角标效果:

通过如下代码更改角标样式,更换成菱形图片选中与未选中替换样式

🚀🚀🚀  踩坑不易,还希望各位大佬支持一下

📃 我的土拨鼠开源项目:

✍Gitee开源项目地址👉:https://gitee.com/cheinlu/groundhog-charging-system

✍GitHub开源项目地址👉:https://github.com/cheinlu/groundhog-charging-system

📃 我的鸿蒙NEXT轮播图开源组件:https://gitee.com/cheinlu/harmony-os-next-swiper

最后:👏👏😊😊😊👍👍  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1828447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】进程_5

文章目录 五、进程6. 进程的调度和转换7. 环境变量 未完待续 五、进程 6. 进程的调度和转换 进程在运行过程中,要产生大量的临时数据,存放在CPU的寄存器中,CPU内部的所有临时数据我们叫做进程的 硬件上下文。当进程的时间片到了时&#xff…

用LoRA微调 Llama 2:定制大型语言模型进行问答

Fine-tune Llama 2 with LoRA: Customizing a large language model for question-answering — ROCm Blogs (amd.com) 在这篇博客中,我们将展示如何在AMD GPU上使用ROCm对Llama 2进行微调。我们采用了低秩适配大型语言模型(LoRA)来克服内存和计算限制,…

【百度之星】题目练手

BD202301公园 码题集OJ-公园 (matiji.net) 看到之后就想到之前没写出来的一道cf题目,因为不敢打暴力导致没写出来hhh~ 首先,这个问题贪心必有反例(贪心两个人尽早相遇) 数据范围40000, 直接暴力枚举两个人在哪个点相遇…

云原生技术实现Devops自动化运维

云原生技术实现Devops自动化运维 随着云计算和DevOps理念的普及,云原生技术在自动化运维中的应用日益广泛。本文将探讨云原生技术如何通过容器化、微服务架构、CI/CD流水线等手段,提升DevOps自动化运维的效率和灵活性,并通过案例分析具体应用…

Linux screen命令使用

文章目录 1. 前言2. screen是什么?3. screen使用场景描述3. screen常用命令4. 小结5. 参考 1. 前言 实际开发中用到的云服务器,如果项目使用的是python,需要利用项目运行一些时间较长的项目程序脚本的话,由于我们通过ssh连接远端服务器&…

【面经总结】Java集合 - Map

Map 概述 Map 架构 HashMap 要点 以 散列(哈希表) 方式存储键值对,访问速度快没有顺序性允许使用空值和空键有两个影响其性能的参数:初始容量和负载因子。 初始容量:哈希表创建时的容量负载因子:其容量自动扩容之前被允许的最大…

2024年【山东省安全员A证】考试资料及山东省安全员A证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 山东省安全员A证考试资料是安全生产模拟考试一点通总题库中生成的一套山东省安全员A证试题及解析,安全生产模拟考试一点通上山东省安全员A证作业手机同步练习。2024年【山东省安全员A证】考试资料及山东省…

黑马程序员Springboot2简单学习笔记

Session是用于存放用户与web服务器之间的会话,即服务器为客户端开辟的存储空间。 文章:lombok Slf4j注解 Slf4j是用作日志输出的,一般会在项目每个类的开头加入该注解 可以配置静态资源的访问路径 这样访问任何的静态资源 但是每个页面都得…

20. mediasoup服务器的布署与使用

Mediasoup Demo部署 架构服务分析 服务端提供3个服务: 1.www服务,浏览器通过访问服务器目录获取客户端代码,通过V8引擎,启动底层WebRTC 2.nodejs提供websocket服务和http服务,用于信令交互 3.Mediasoup C提供的流媒体…

Ui学习--UITableView

UI学习 UITableView基础UITableView协议UITableView高级协议与单元格总结 UITableView基础 UITableView作为iOS中的一个控件,用于以表格形式展示数据。例如通讯录好友,朋友圈信息等,都是UITableView的实际运用场景。 首先我们先要加入两个协…

ARM32开发--电源管理单元

知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 PMU 电源域 VDD/VDDA域 备份域 1.2V域 省电模式 睡眠模式 深度睡眠模式 待机模式 几种模式总结 WFI和WFE指令 案例需求 模式初始化 源码 总结 前言 在嵌入式系统中,有效的电池管…

使用kettle做的数据同步案例

1 mongo同步数据到mysql中 我想把51万8400的计算出来的八字信息,从mongo同步到mysql,看看在mysql中运行会怎么样。 选择mongodb input,这个是在Big Data中。 填写数据库和表 获取到mongodb的字段,获取到mongo的字段,如果某个字段…

Windows10 利用QT搭建SOEM开发环境

文章目录 一. SOEM库简介二. 安装WinPcap三. SOEM(1.4)库安装(1) 编译32位库(2) 编译64位库 四. 运行SOEM示例代码五. WIN10下利用QT构建SOEM开发环境 一. SOEM库简介 SOEM(Scalable Open EtherCAT Master 或 Simple Open EtherCAT Master)是一个开源的…

SwiftUI 6.0(iOS 18)新容器视图修改器漫谈

概览 本届 WWDC 2024 观影正如火如荼的进行中,一片鸟语花香、枝繁叶茂的苹果树上不时结出几颗令人垂涎欲滴的美味苹果让秃头码农们欲罢不能。 如您所愿,在界面布局“利器” SwiftUI 这根蔓藤也长出不少喜人的果实,其中在 iOS 18.0 中新添加的…

1949年到2021年中国历年稻谷产量统计报告

数据介绍 数据来源于国家统计局,为1949年到2021年我国每年的稻谷产量数据。 2021年,我国稻谷产量为21284.24万吨,比上年增长0.5%。 数据统计单位为:万吨 我国稻谷产量有多少? 2021年,我国稻谷产量为2128…

TIA Portal 博途西门子自动化编程软件下载安装,TIA Portal 提高生产效率!

驱动编程功能则是TIA Portal的又一亮点,它支持各种驱动器的编程和配置,使设备能够精准地执行各种运动控制任务。此外,SCADA(监控与数据采集)编程功能使得用户可以实时监控生产过程的各项数据,确保生产过程的…

全网爆火的AI语音合成工具-ChatTTS,有人已经拿它赚到了第一桶金,送增强版整合包

上篇分享了如何从0到1搭建一套语音交互系统。 其中,语音合成(TTS)是提升用户体验的关键所在。 不得不说,AI 语音界人才辈出,从之前的Bert-Sovit,到GPT-Sovits,再到最近一周狂揽了 1w Star 的C…

在顺序表中使用顺序查找法查找某个关键字

//顺序表中顺序查找(SeqSearch) #include<stdio.h> #include<stdlib.h> #define MAX 100 #include<assert.h> typedef struct {int data[MAX];int length; }SeqList; int SeqSearch(SeqList* S, int key)//key为要查找的值 {printf("关键字序列&#xf…

11.泛型、trait和生命周期(上)

标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数&#xff0c;分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: &[f64]) -> f64…

转让注册地址在北京的无区域投资管理集团公司

公司名称中不带省市地域&#xff0c;或是公司名称没有行业表述的公司&#xff0c;都是要在工商总局进行核名的&#xff0c;我们简称为总局无区域核名公司&#xff0c;此类公司的注册须经总局局批准&#xff0c;名称可以不带省市地域、行业特点&#xff0c;现在公司名称新核准已…