【HarmonyOS NEXT星河版开发学习】小型测试案例16-小米官网轮播图部分

news2024/9/22 9:48:11

个人主页→VON

收录专栏→鸿蒙开发小型案例总结​​​​​

基础语法部分会发布于github 和 gitee上面(暂未发布)

前言

鸿蒙开发中的Swiper组件应用十分的广泛,像小米、淘宝、京东...众多网友都采用了轮播图的效果。不仅更加的美观,还能对商品进行逐一展现。

知识点概述

鸿蒙中的Swiper组件是一个强大的滑动容器组件,提供子组件切换滑动的能力,支持无缝轮播、自动播放、响应式布局等功能。该组件旨在为移动设备如手机和平板带来流畅的滑动体验,并广泛应用于各种应用场景,例如顶部导航、轮播图以及视频滑动播放等。具体分析如下:

概述与功能

  • Swiper的基本功能:在鸿蒙应用开发中,Swiper组件允许开发者实现类似于图片轮播的效果,它支持循环播放、自动播放、以及适应不同屏幕大小的响应式布局。
  • 布局与约束:Swiper会根据其子组件的大小自动调整自身的尺寸。如果开发者为其设置了固定尺寸,则在轮播过程中,Swiper将保持该尺寸不变。

循环播放与自动轮播

  • 循环播放:通过设置loop属性为true,Swiper能够实现循环播放效果。当显示到最后一个元素时,会继续切换到第一个元素,反之亦然。
  • 自动轮播:设置autoPlay属性为true后,Swiper会开始自动轮播子组件。人们可以通过interval属性自定义每次切换之间的间隔时间。

导航点样式

  • 定义导航点样式:通过indicatorStyle属性,可以为Swiper的导航点定制样式,包括导航点的大小、位置及颜色等。

页面切换方式

  • 多种切换方式:Swiper支持手指滑动、点击导航点和控制器三种切换页面的方式,使得交互更加丰富和便捷。

属性与方法

  • 常用属性:Swiper提供了诸如indexautoPlayintervalindicator等属性,用于控制Swiper的行为和外观。
  • 绑定控制器:通过SwiperController,可以实现对Swiper组件更加精确的控制,比如切换到指定页面等。

此外,在使用Swiper组件时,还需要考虑以下几点:

  • 性能优化:在开发过程中应注意合理使用Swiper的属性,如适当设置cachedCount属性,可以优化Swiper的性能。
  • 兼容性处理:由于Swiper从API Version 7开始支持,因此需要确保所用的OpenHarmony SDK版本兼容Swiper组件。
  • 实际应用考虑:在设计轮播图或视频滑动播放时,应确保内容符合应用的整体风格和用户操作习惯,同时注意加载速度和流畅性。

鸿蒙中的Swiper组件不仅功能强大且易于定制,适用于多种滑动场景,从简单的图片轮播到复杂的视频播放列表管理。通过灵活运用Swiper的属性和方法,可以极大地提升应用的用户体验和界面互动性。在开发过程中,开发者需要密切关注性能优化、兼容性处理以及实际应用场景的需求,以确保最终产品能够满足用户的期望。

界面效果展示

代码展示

@Entry
@Component
struct Index {
  @State num:number[]=[1,2,3,4,5,6]
  build() {
    Column(){

      Swiper(){
        ForEach(this.num,(count:number)=>{
          Image($r(`app.media.xm_img0${count}`))
        })
      }
      .autoPlay(true)// 自动轮播
      .interval(1000)// 轮播时间
      .width('100%')
      .aspectRatio(2.66)
      // 下方小圆点样式
      .indicator(
        Indicator.dot()
          .itemWidth(10)
          .selectedItemWidth(30)
          .selectedColor(Color.White)
      )
    }
  }
}

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

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

相关文章

AutoTiny电脑自动化操作

AutoTiny 可以自动化电脑上的一些操作,比如帮你重复鼠标点击操作(我猜可以当作外挂刷怪,可惜已经过了喜欢刷怪的年纪了)

Linux学习之路 -- 进程 -- 进程间通信 -- 管道通信

本文主要介绍进程通信中的管道通信。 前面我们学习进程的过程中,我们知道,进程是具有独立性的。这也就导致了进程不能够直接地把数据进行传递。为了实现进程之间地通信,我们就需要通过另外地方式来实现进程之间数据地传递。 1.进程通信的目…

训练 Transfomer 模型的内存消耗计算

目录 model 内存gradients 内存activates 内存 经典图打底: 训练深度模型的内存消耗主要有以下几个部分: 存储模型可训练参数存储梯度存储反向传播中间变量,例如: L ( Y − Y ^ ) 2 Y ^ X T W ∂ L ∂ W − 2 ( Y − Y ^ ) …

Transformer架构;Encoder-Decoder;Padding Mask;Sequence Mask;

目录 Transformer架构 Transformer架构的主要组成部分: 简单举例说明输入和输出: Encoder-Decoder 编码器/解码器组成 6、位置前馈网络(Position-wise Feed-Forward Networks) 7、残差连接和层归一化 10、掩码Mask 10.1 Padding Mask 10.2 Sequence Mask 为什么…

Gradio 复杂布局的实现

Gradio Interface 和 ChatInterface 布局都相对固定,只能通过参数添加组件,如果想要自定义页面布局,就需要更高级的布局方式 Block 。Gradio 中可以通过行和列进行布局,可以互相嵌套。我们先看一官方的例子: import g…

Vue Mixins 深度解析含面试常问题

Vue Mixins 深度解析含面试常问题 文章目录 Vue Mixins 深度解析含面试常问题一、Mixin 是什么二、Vue中如何使用1. 创建Mixin2. 使用Mixin3. 合并策略4. 全局Mixin5. 使用场景 三、包含哪些属性或方法API四、扩展与高级技巧1. 命名冲突2. 全局 vs 局部3. 合并策略深入4. 使用高…

商品期权会爆仓吗?

商品期权交易中存在爆仓的情况。一个期权的价格与其基础资产的波动性密切相关。在波动性高的情况下,尽管收益可能更高,但投资者也需要面对更大的价格波动风险,商品期权有买方和卖方,买方无爆仓风险,卖方是保证金交易有…

Hadoop大数据集群搭建

一、虚拟机配置网络 1、配置文件 进入“/etc/sysconfig/network-scripts”目录,查看当前目录下的“ifcfg-ens33”文件 对“ens33”文件进行配置 2、重启网络 systemctl restart network 3、测试网络 Ping www.baidu.com 4、设置虚拟机主机名称 5、绑定主机名和…

【android 9】【input】【11.发送普通motion事件1——touch设备的加载——MultiTouchInputMapper】

系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …

传知代码-CENet及多模态情感计算实战(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 一、概述 本文对 “Cross-Modal Enhancement Network for Multimodal Sentiment Analysis” 论文进行讲解和手把手复现教学,解决当下热门的多模态情感计算问题,并展示在MOSI和MOSEI两个数…

labview经验分享1-任意16进制字符类型匹配

系列文章目录 1、任意16进制字符类型匹配 文章目录 系列文章目录问题导入实现任意16进制字符类型匹配在这里插入图片描述 总结 问题导入 labveiw的字符串匹配,使用的是正则表达式,可以让我们很方便的对字符串进行字符处理操作。 但是某些情况下&#…

WEB渗透Bypass篇-常规操作

绕过lsa-protection https://github.com/RedCursorSecurityConsulting/PPLKillerLinux绕过disable_function LD_PRELOAD linux环境 putenv()、mail()可用 https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD http://192.168.0.107/bypass_disablefunc.p…

一篇文章教你搭建一个高深莫测的SQL优化器

❓在数据库操作中,SQL优化一直是一个让人头疼的问题。今天,我将教你一种无需编写任何代码,只需要两个组件,便能轻松搭建一个高深莫测的SQL优化器的方法。通过这个方法,它可以将巨慢无比的SQL,把速度优化到极…

重启人生计划-浮舟沧海

🥳🥳🥳 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,我是最爱吃鱼罐头,大家可以叫鱼罐头呦~🥳🥳🥳 如果你觉得这个【重启人生…

VIM复合命令

VIM提供了很多 复合命令,可以把两个动作合并为一次按键。极大提高了编辑效率。以下是一些具体的例子: 复合命令等效的长命令说明Cc$删除光标到行尾scl删除光标位置的字符S^C删除整行I^i光标移动到行首A$a光标移动到行尾oA 回车光标下方开启一行Oko光标…

一文掌握SOP搭建步骤方法

如果你正在阅读这篇文章,那么你很可能在寻找如何为你的企业编写标准操作程序(SOP)的指导,以确保更好的流程被传达给你的团队并且得到遵循。 为什么SOPs很重要 SOPs必须清晰地传达你的业务流程,以标准化操作并确保盈利性…

Vue2 消息订阅与发布

1.pubsub-js 第三方库实现 实现任何框架的消息订阅发布 npm i pubsub-js <template><div class"student"><h2>展示学生的名称:{{ name }}</h2><h2>展示学生的性别:{{ sex }}</h2></div> </template><script>…

浏览器插件利器--allWebPluginV2.0.0.16-Stable版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

ollama使用llama3.1案例

ollama安装和运行llama3.1 8b conda create -n ollama python3.11 -y conda activate ollama curl -fsSL https://ollama.com/install.sh | sh ollama run songfy/llama3.1:8b 就这么简单就能运行起来了. 我们可以在命令行中与他交互. 当然我们也可以用接口访问: curl http:…

在IDEA中用自带的数据库 连接 redis 失败(JedisAccessControlException)

文章目录 1、问题出现的背景2、分析问题出现的原因3、解决办法不用输入用户名直接输入密码即可 1、问题出现的背景 redis.clients.jedis.exceptions.JedisAccessControlException: WRONGPASS invalid username-password pair or user is disabled.2、分析问题出现的原因 查看…