鸿蒙(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.mfbz.cn/a/239406.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux---虚拟机软件

1. 虚拟机软件的介绍 它是能够虚拟出来计算机的一个软件。 常用虚拟机软件: VmwareVirtualBox 说明: 只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机。 2. 虚拟机的介绍 就是模拟一个真实的计算机,好比一个虚拟的…

DRBD分布式存储实验

DRBD DRBD的全称为:Distributed Replicated Block Device (DRBD) 分布式块设备复制 与心跳连接结合使用,构建高可用性(HA)的集群。 实现方式是通过网络来镜像(mirror)整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像。DRBD负责接收数据…

Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第五章、JSP模板集成 5.1 引入JSP依赖 <!--引入jsp解析依赖--> <!--C标签库--> <dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version&…

Python 进阶(十五):Base64 编码和解码(base64 模块)

大家好&#xff0c;我是水滴~~ 本篇文章主要介绍Python的base64模块&#xff0c;主要内容有&#xff1a;Base64的概念、base64模块、base64编码和解码、以及其使用场景。文章中包含大量的示例代码&#xff0c;希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总目录…

Dockerfile创建镜像INMP+wordpress

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

分布式环境认证和授权-基于springboot+JWT+拦截器实现-实操+源码下载

1、功能概述&#xff1f; 1、当用户登录的时候&#xff0c;将用户的信息通过JWT进行加密和签名&#xff0c;并将JWT产生了token信息保存到当前浏览器的localStoragee中,即本地存储中。 2、当用户登录成功后&#xff0c;访问其他资源的时候&#xff0c;程序从localStorage中获…

hive自定义函数及案例

一.自定义函数 1.Hive自带了一些函数&#xff0c;比如&#xff1a;max/min等&#xff0c;但是数量有限&#xff0c;自己可以通过自定义UDF来方便的扩展。 2.当Hive提供的内置函数无法满足你的业务处理需要时&#xff0c;此时就可以考虑使用用户自定义函数。 3.根据用户自定义…

Axure元件的介绍使用以及登录界面和个人简历的绘制

目录 一、Axure元件介绍 1.1 简介 1.2 特点 1.3 元件操作 二、基本元件的使用 2.1 矩形和圆形 2.2 图片 2.2.1 图片元件特点 2.2.2 具体操作 2.3 占位符 2.3.1 使用规范方法举例 2.4 文本元件 2.4.1 图示 2.5 热区 2.5.1 图示 2.5.2 热区辅助页面排版 2.6 线段…

鸿蒙开发 - ohpm安装第三方库

前端开发难免使用第三方库&#xff0c;鸿蒙亦是如此&#xff0c;在使用 DevEco Studio 开发工具时&#xff0c;如何引入第三方库呢&#xff1f;操作步骤如下&#xff0c;假设你使用的是MacOS&#xff0c;假设你已经创建了了一个项目&#xff1a; 一、配置 HTTP Proxy 在打开了…

「PPT 下载」Google DevFest Keynote | 复杂的海外网络环境下,如何提升连接质量

&#xff08;全网都在找的《社交泛娱乐出海作战地图》&#xff0c;点击获取&#x1f446;&#xff09; 12 月 10 日&#xff0c;“Google DevFest 2023 上海站”大会如期在上海市东方万国宴会中心举办。延续过往的技术交流碰撞、前沿技术学习基调传统&#xff0c;本届大会聚焦行…

从手工测试进阶中高级测试?如何突破职业瓶颈...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、手工测试如何进…

fastadmin配置教程

第一. 打开小皮&#xff0c;创建一个网站 第二. 打开fastadmin官网&#xff0c;下载压缩包 下载好后是这个样子 打开网站的根目录&#xff0c;将这个压缩包压缩到你网站的根目录里 第三&#xff0c;小皮里面创建一个数据库 第四&#xff0c;然后打开网站&#xff0c;输入创…

RocketMQ Streams详解

一、RocketMQ Streams 概览 RocketMQ Streams是基于RocketMQ的轻量级流计算引擎。能以SDK方式被应用依赖&#xff0c;无须部署复杂的流计算服务端即可获得流计算能力。 因此具有资源消耗少、扩展性好、支持流计算算子丰富的特点。 1、整体架构​ 数据从RocketMQ中被RocketMQ-…

发明/实用新型/软件著作权申请及书写相关事项

发明/实用新型/软件著作权申请及书写相关事项 零、前言一、关于写专利前的准备二、专利申请怎么调研三、发明/实用新型包括哪些&#xff1f;四、软件著作权需要哪些文件&#xff1f;五、提交文件及费用细节 零、前言 这里写了一些专利相关申请的注意事项及流程。这里仅仅参考的…

网络安全公司梳理,看F5如何实现安全基因扩增

应用无处不在的当下&#xff0c;从传统应用到现代应用再到边缘、多云、多中心的安全防护&#xff0c;安全已成为企业数字化转型中的首要挑战。根据IDC2023年《全球网络安全支出指南》&#xff0c;2022年度中国网络安全支出规模137.6亿美元&#xff0c;增速位列全球第一。有专家…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境微信开发者工具OneNET云平台 相关其它博客工程源代码下载其它资料下载 前言 本项目基于Keras框架&#xff0c;引入CNN进行模型训练&#xff0c;采用Dropout梯度…

QML WebEngineView 全屏和退出

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在使用浏览器时,我们经常会用到全屏模式,最常见的场景有:观看视频、阅读文章、在线演示等。全屏模式的优点在于,它可以让用户充分地利用有限的屏幕空间,更好地专注于内容本身,从而提供丰富的沉浸式视觉…

CentOS7 安装包 MariaDB 10.4.x

CentOS7 安装包 MariaDB 10.4.x 统一 MariaDB安装包 https://www.alipan.com/s/fvLg3gN7LPX 提取码: nh81 打开「阿里云盘」

讲解一手CSRF,如何防御CSRF

简介&#xff1a; CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种网络安全漏洞&#xff0c;它允许攻击者通过欺骗用户在当前已登录的Web应用程序上执行未经用户授权的操作。 攻击者利用用户在目标网站上已经建立的身份认证&#xff…

基于单片机音乐盒仿真仿真系统设计

**单片机设计介绍&#xff0c;基于单片机音乐盒仿真仿真系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的音乐盒仿真仿真系统是一种基于嵌入式系统技术的设计方案&#xff0c;用于模拟传统的音乐盒功能。它通…
最新文章