鸿蒙(HarmonyOS)应用开发——简易版轮播图

简述

轮播图在应用中,已经很常见的展现方式。像uniapp、iview,viewUI等前端组件框架,都提供了轮播图组件。那么在harmonyOS中,如果要实现轮播,我们是使用swiper 组件

swiper组件

swiper 组件是一种容器组件。它提供切换子组件显示的能力。

属性

名称类型默认值必填说明
indexnumber0当前在容器中显示的子组件的索引值。
autoplaybooleanfalse子组件是否自动播放,自动播放状态下,导航点不可操作5+。
intervalnumber3000使用自动播放时播放的时间间隔,单位为ms。
indicatorbooleantrue是否启用导航点指示器,默认true。
digital5+booleanfalse是否启用数字导航点,默认为false。必须设置indicator时才能生效数字导航点。
indicatordisabled5+booleanfalse指示器是否禁止用户手势操作,设置为true时,指示器不会响应用户的点击拖拽。
loopbooleantrue是否开启循环滑动。
durationnumber-子组件切换的动画时长。
verticalbooleanfalse是否为纵向滑动,纵向滑动时采用纵向的指示器。
cachedsize7+number-1swiper延迟加载时item最少缓存数量。-1表示全部缓存。
scrolleffect7+stringspring滑动效果。目前支持如下:- spring:弹性物理动效,滑动到边缘后可以根据初始速度或通过触摸事件继续滑动一段距离,松手后回弹。- fade:渐隐物理动效,滑动到边缘后展示一个波浪形的渐隐,根据速度和滑动距离的变化渐隐也会发送一定的变化- none:滑动到边缘后无效果。该属性仅在loop属性为false时生效。

事件

名称参数说明
change{ index: currentIndex }当前显示的组件索引变化时触发该事件
rotation{ value: rotationValue }智能穿戴表冠旋转事件触发时的回调。

代码实现

新建一个项目 ImgSwiper

在这里插入图片描述
在这里插入图片描述

新建组件ImgSwiperComponent

在ets 文件夹下新建文件夹ImgSwiperComponent,然后新建ImgSwiperComponent.ets
在这里插入图片描述


import  {StyleConstants} from  './constants/StyleConstants'@Component
export struct  ImgSwiperComponent{@Link imgList: Resource[];@Prop index:number;@Prop autoPlay:boolean;@Prop loop:boolean;@Prop indicator:boolean;build(){Swiper(){ForEach(this.imgList,(item)=>{Image(item).width(StyleConstants.FULL_WIDTH).height(StyleConstants.Swiper_HEIGHT)},(item)=>JSON.stringify(item))}.index(0).autoPlay(true).height(StyleConstants.Swiper_HEIGHT).loop(true).indicator(true)}}export class StyleConstants{static readonly FULL_WIDTH:string ="100%"static readonly Swiper_HEIGHT:string = "30%"
}

在资源文件中,引入临时文件

如果你还没有对接api ,只是静态页面,可以在资源文件中引入图片文件
在这里插入图片描述

在开发页面中使用ImgSwiperComponent组件

  • 引入组件
import {ImgSwiperComponent} from '../components/ImgSwiperComponent/ImgSwiperComponent'
  • 在页面初始化前初始化图片数据
aboutToAppear(){this.imgList.push($r('app.media.ic_banner01'))this.imgList.push($r('app.media.ic_banner02'))}
  • 完整代码
import {ImgSwiperComponent} from '../components/ImgSwiperComponent/ImgSwiperComponent'@Entry
@Component
struct Index {@State message: string = 'Hello World'@State imgList: Resource[]=[];aboutToAppear(){this.imgList.push($r('app.media.ic_banner01'))this.imgList.push($r('app.media.ic_banner02'))}build() {Flex(){ImgSwiperComponent({imgList:$imgList,autoPlay:true,index:0,loop:true,indicator:true})}}
}

展示效果

在这里插入图片描述

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

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

相关文章

jmeter接口自动化测试通过csv文件读取用例并执行测试

最近在公司测试中经常使用jmeter这个工具进行接口自动化,简单记录下~ 一、在csv文件中编写好用例 首先在csv文件首行填写相关参数(可根据具体情况而定)并编写测试用例。脚本可通过优先级参数控制执行哪些接口,通过端口参数同时执…

【WebRTC】【Unity】Unity Web RTC1-Unity中简单实现远程画面

【项目资源下载】 本篇配套直接打开可用的项目包地址,欢迎下载: https://download.csdn.net/download/weixin_41697242/88612084 【背景】 想要在Unity中实现实时远程桌面,找到了Render Streaming这个手段,本篇介绍相应的使用方…

三天精通Selenium Web 自动化 - Selenium(Java)环境搭建 (new)

0 背景 开发工具idea代码管理mavenjdk1.8webdriver chrome 1 chromedriver & chrome chromedriver和chrome要对应上: chomedriver下载地址:淘宝镜像 这里用的是 chromedriver88-0-4324-96.zipchrome下载地址:如何降级和安装旧版本的C…

代码随想录刷题题Day11

刷题的第十一天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C / Python Day11 任务 ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 1 二叉树理论基础 1.1 二叉树的种类 (1&…

js基础:简介、变量与数据类型、流程循环控制语句、数组及其api

JS基础:简介、变量与数据类型、流程循环控制语句、数组及其api 一、简介 1、js概述 tip:JavaScript是什么? 有什么作用? JavaScript(简称JS)是一种轻量级的、解释性的编程语言,主要用于在网页…

React系列:实现子组件A->父组件-子组件B变量流传

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥网站:vip.zsqt.cc React系列总结 🎈useState的使用 创建响应式变量的时候,在react是需要使用u…

手机网站支付有风险吗?

这是一个在当今数字化时代中,消费者们常常会提出的问题。随着科技的发展和移动设备的普及,越来越多的商家开始接受在线支付,这无疑为消费者提供了极大的便利。然而,与此同时,也伴随着一些潜在的风险。本文将探讨手机网…

0012Java程序设计-ssm医院预约挂号及排队叫号系统

文章目录 **摘** **要**目 录系统实现5.2后端功能模块5.2.1管理员功能模块5.2.2医生功能模块 开发环境 摘 要 网络的广泛应用给生活带来了十分的便利。所以把医院预约挂号及排队叫号管理与现在网络相结合,利用java技术建设医院预约挂号及排队叫号系统,实…

Nginx安装【保姆级别】

目录 1.Nginx开源版本安装💕💕💕 2.传到linux💕💕💕 3.在linux上安装 💕💕💕 4.启动Nginx 💕💕💕 5.安装成系统服务 &#x1f495…

Dockerfile创建镜像INMP+wordpress

Dockerfile创建镜像INMPwordpress 需要哪些呢: Nginx 172.111.0.10 docker-nginx Mysql 172.111.0.20 docker-mysql PHP 172.111.0.30 docker-PHP 开始实验: 创建各级目录,他们各自的包和配置文件必须要在同一目录下才可以生效&…

Fiddler中AutoResponder的简单使用

AutoResponder,自动回复器,用于将 HTTP 请求重定向为指定的返回类型。 这个功能有点像是一个代理转发器,可以将某一请求的响应结果替换成指定的资源,可以是某个页面也可以是某个本地文件 1.使用 打开“Fiddler”,点击…

掌握iText:轻松处理PDF文档-高级篇-加密和解密

前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具,在实际项目中发挥着重要作用。通过这些文章,读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作,为日常开发工作提供了宝贵的参考和指导。 掌握iText&#…

【Vue】router.push用法实现路由跳转

目录 router.push用法 在Login.vue中 在Register.vue中 ​ 上一篇:登录与注册界面的制作 https://blog.csdn.net/m0_67930426/article/details/134895214?spm1001.2014.3001.5502 制作了登录与注册界面,并介绍了相关表单元素即属性的用法 在登录页面…

jQuery遍历与删除添加节点

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…

手拉手探索JSONCrack数据可视化

JSON Crack数据可视化工具 官网:https://jsoncrack.com/ 项目地址:https://github.com/AykutSarac/jsoncrack.com SON Crack 是一个很方便的 JSON 数据可视化工具。 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小、展…

技术资讯:VSCode大更新,这两个功能终于有了

大家好,我是大澈! 本文约1200字,整篇阅读大约需要2分钟。 感谢关注微信公众号:“程序员大澈”,然后免费加入问答群,从此让解决问题的你不再孤单! 1. 资讯速览 就在前阵子,前端人都…

Java LeetCode篇-二叉树经典解法(实现:判断平衡二叉树、找两个节点最近的祖先等)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 平衡二叉树 1.1 实现判断平衡二叉树的思路 1.2 代码实现判断平衡二叉树 2.0 二叉树的层序遍历 2.1 实现二叉树层序遍历的思路 2.2 代码实现二叉树层序遍历 3.0 …

苹果app应用ipa文件程序开发后如何运行到苹果iOS真机上测试?

在苹果应用程序开发过程中,将app安装于真机进行测试是一个不可或缺的步骤,它可以帮助你检测app在实际设备上的性能表现及存在的潜在问题。这篇文章将详细阐述如何将开发好的苹果app(.ipa文件)安装到真机上进行测试。 图片来源&…

文心一言 VS 讯飞星火 VS chatgpt (155)-- 算法导论12.3 2题

二、用go语言,假设通过反复向一棵树中插人互不相同的关键字来构造一棵二叉搜索树。证明:在这棵树中查找关键字所检查过的结点数目等于先前插入这个关键字所检查的结点数目加 1。 文心一言: 为了证明这个结论,我们可以使用二叉搜…

VisualSVN Server的安装全过程

目录 背景: 安装过程: 步骤1: 步骤2: 步骤3: 步骤4: 步骤5: 安装出现的bug: 问题: 解决办法: 总结: 背景: VisualSVN Server 是一款免费的 SVN (Subversion) 服务器软件&#xff0c…