news 2026/7/28 12:26:42

HarmonyOS应用开发实战:猫猫大作战-Swiper 的声明式用法、控制器操作、引导页完整实现以及与应用启动流程的结合

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS应用开发实战:猫猫大作战-Swiper 的声明式用法、控制器操作、引导页完整实现以及与应用启动流程的结合

前言

在应用首次启动时,新手引导页通过轮播展示应用的核心功能,帮助用户快速上手。HarmonyOS 的Swiper组件提供了声明式的轮播容器,支持循环滑动、自动播放、自定义指示器、切换动画等能力。

本文以「猫猫大作战」的新手引导页为锚点,讲解 Swiper 的声明式用法、控制器操作、引导页完整实现以及与应用启动流程的结合。

提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–90 篇。本篇是阶段三第 91 篇。

一、Swiper 基本结构

1.1 最简轮播

Swiper() { Text('第 1 页').fontSize(30) Text('第 2 页').fontSize(30) Text('第 3 页').fontSize(30) }

1.2 核心属性

属性说明
index当前索引(双向绑定)
autoPlay是否自动播放
interval自动播放间隔
loop是否循环
vertical是否垂直滑动
indicator指示器样式
duration切换动画时长

二、新手引导页实现

2.1 引导页完整代码

@Entry @Component struct GuidePage { @State currentIndex: number = 0; private swiperController: SwiperController = new SwiperController(); private guides: GuideItem[] = [ { emoji: '🐱', title: '合并猫咪', desc: '将相同的猫咪拖到一起合并升级', color: '#E8F4F8' }, { emoji: '🎯', title: '策略消除', desc: '合理安排猫咪位置获得高分', color: '#FEF9E7' }, { emoji: '🏆', title: '挑战好友', desc: '与好友一较高下登上榜首', color: '#FDEBD0' } ]; build() { Column() { Swiper(this.swiperController) { ForEach(this.guides, (item: GuideItem) => { this.GuidePage(item) }) } .index(this.currentIndex) .loop(false) // 引导页不循环 .indicator(this.IndicatorStyle()) .onChange((index) => { this.currentIndex = index }) Button(this.currentIndex < this.guides.length - 1 ? '下一步' : '开始使用') .onClick(() => { if (this.currentIndex < this.guides.length - 1) { this.swiperController.showNext() } else { router.replaceUrl({ url: 'pages/Index' }) } }) } } @Builder GuidePage(item: GuideItem) { Column() { Text(item.emoji).fontSize(80) Text(item.title).fontSize(24).fontWeight(FontWeight.Bold).margin({ top: 24 }) Text(item.desc).fontSize(16).fontColor('#666').margin({ top: 12 }) } .width('100%') .height('100%') .backgroundColor(item.color) .justifyContent(FlexAlign.Center) } @Builder IndicatorStyle() { DotIndicator() .itemWidth(8).itemHeight(8) .selectedItemWidth(24).selectedItemHeight(8) .color('#CCC').selectedColor('#2ECC71') } } interface GuideItem { emoji: string; title: string; desc: string; color: string; }

三、SwiperController

private swiperController: SwiperController = new SwiperController(); // 跳转到下一页 this.swiperController.showNext(); // 跳转到上一页 this.swiperController.showPrevious(); // 跳转到指定页 this.swiperController.finishAnimation(this.currentIndex); this.swiperController.showNext();

四、总结

Swiper 是 HarmonyOS 的轮播容器组件,通过SwiperController编程控制翻页,配合DotIndicator实现引导页指示器。

核心要点

  • Swiper 声明式轮播,支持循环、自动播放、自定义指示器
  • SwiperController.showNext/showPrevious 编程控制翻页
  • 引导页完成后使用 router.replaceUrl 跳转到主页面

下一篇预告:第 92 篇将深入 DotIndicator——圆点指示器的样式自定义。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • Swiper 组件参考
  • DotIndicator 参考
  • SwiperController API
  • 开源鸿蒙跨平台社区
  • 第 90 篇:TabContent
  • 第 92 篇:DotIndicator
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 12:23:17

构网型逆变器稳定性分析与Matlab建模实践

1. 项目概述&#xff1a;构网型逆变器稳定性研究的工程价值 构网型逆变器(Grid-Forming Inverter, GFMI)作为新能源电力系统的核心接口设备&#xff0c;其稳定性直接关系到微电网和分布式能源系统的可靠运行。不同于传统跟网型逆变器&#xff0c;GFMI需要自主建立电网电压和频率…

作者头像 李华
网站建设 2026/7/28 12:22:09

Java后端高效学习路径:从JVM到Spring生态,构建闭环知识体系

最近在辅导几位准备秋招的学弟学妹,发现一个普遍现象:大家手头资料很多,Java基础、JVM、MySQL、Spring全家桶、八股文、场景题……但面对海量信息,却不知道如何系统性地学习和提升,感觉每天都在“低水平重复”。结合我自己的上岸经验和近期面试官的反馈,我总结了一套当前…

作者头像 李华
网站建设 2026/7/28 12:21:05

物联网设备低功耗电源管理方案与NBM7100A应用解析

1. 项目背景与核心挑战在物联网设备设计中&#xff0c;初级电池&#xff08;如CR2032纽扣电池&#xff09;的续航能力一直是工程师面临的核心难题。这类电池通常具有以下特性&#xff1a;不可充电设计&#xff0c;一次性使用容量有限&#xff08;典型CR2032约220mAh&#xff09…

作者头像 李华
网站建设 2026/7/28 12:20:26

物联网安全解决方案:SE050芯片与PIC18F96J65集成指南

1. 物联网安全现状与SE050芯片的定位在万物互联的时代&#xff0c;物联网设备数量呈现指数级增长。根据最新行业统计&#xff0c;全球活跃物联网设备已突破150亿台&#xff0c;预计2025年将超过270亿台。然而与之相伴的是日益严峻的安全威胁——2023年物联网设备遭受的网络攻击…

作者头像 李华