首页 > 其他分享 >手把手教你华为鸿蒙开发之第八节

手把手教你华为鸿蒙开发之第八节

时间:2024-12-03 11:33:01浏览次数:10  
标签:轮播 鸿蒙 Color 手把手 第八节 backgroundColor Text 组件 Swiper

华为鸿蒙开发:Swiper轮播组件详解与实践

在这里插入图片描述

引言

在现代用户界面设计中,轮播图是一种常见的组件,用于展示广告、新闻、产品等信息。华为鸿蒙操作系统提供了Swiper轮播组件,使得开发者能够轻松实现轮播效果。本文将通过 DevEco Studio 详细介绍Swiper组件的基本使用、属性配置以及如何结合扩展函数进行轮播图的快速开发。

Swiper轮播组件基础

Swiper组件是鸿蒙应用中用于创建轮播效果的组件,它支持水平和垂直滚动,自动播放,循环播放等特性。

基本使用

示例1:基础Swiper轮播
@Entry
@Component
struct Index {
  build() {
    Column() {
      Swiper() {
        Text('首页轮播1')
          .backgroundColor(Color.Red)
        Text('首页轮播2')
          .backgroundColor(Color.Blue)
        Text('首页轮播3')
          .backgroundColor(Color.Green)
      }
      .width('100%')
      .height(200)
    }
  }
}

在这个示例中,我们创建了一个包含三个页面的Swiper轮播图,每个页面都是一个简单的文本视图,背景颜色不同。

设置自动播放和循环

示例2:自动播放和循环的Swiper轮播
@Entry
@Component
struct Index {
  build() {
    Column() {
      Swiper() {
        Text('自动播放1')
          .backgroundColor(Color.Red)
        Text('自动播放2')
          .backgroundColor(Color.Blue)
        Text('自动播放3')
          .backgroundColor(Color.Green)
      }
      .width('100%')
      .height(200)
      .loop(true) // 开启循环
      .autoPlay(true) // 自动播放
      .interval(3000) // 自动播放间隔3秒
      .vertical(false) // 横向轮播
    }
  }
}

在这个示例中,我们为Swiper组件添加了自动播放和循环的属性,使其能够自动播放并循环展示轮播图。

定制指示器

示例3:定制指示器样式
@Entry
@Component
struct Index {
  build() {
    Column() {
      Swiper() {
        Text('定制指示器1')
          .backgroundColor(Color.Red)
        Text('定制指示器2')
          .backgroundColor(Color.Blue)
        Text('定制指示器3')
          .backgroundColor(Color.Green)
      }
      .width('100%')
      .height(200)
      .indicator(
        Indicator.dot()
          .itemWidth(15)
          .itemHeight(15)
          .color(Color.Gray)
          .selectedItemWidth(20)
          .selectedItemHeight(20)
          .selectedColor(Color.White)
      )
    }
  }
}

在这个示例中,我们定制了Swiper组件的指示器样式,包括点的大小、颜色和选中状态的颜色。

扩展函数

示例4:使用扩展函数简化Swiper轮播图的开发
@Extend(Text)
function textFn() {
  .fontSize(20)
  .fontWeight(FontWeight.Bold)
}

@Extend(Text)
function bannerItem(bgColor: ResourceColor, msg: string) {
  .textAlign(TextAlign.Center)
  .backgroundColor(bgColor)
  .fontColor(Color.White)
  .fontSize(30)
  .onClick(() => {
    AlertDialog.show({
      message: msg
    })
  })
}

@Entry
@Component
struct Extends_demo {
  @State message: string = '@Extend-扩展组件(样式,事件)';

  build() {
    Column() {
      Text(this.message)
        .textFn()

      Swiper() {
        Text('1')
          .bannerItem(Color.Orange, '轮播图1号')
        Text('2')
          .bannerItem(Color.Brown, '轮播图2号')
        Text('3')
          .bannerItem(Color.Green, '轮播图3号')
      }
      .width('100%')
      .height(160)
    }
    .width('100%')
    .height('100%')
  }
}

在这个示例中,我们定义了两个扩展函数textFnbannerItem,用于简化Swiper轮播图中文本样式的设置和事件处理。这使得Swiper轮播图的开发更加简洁和高效。

结语

Swiper轮播组件是鸿蒙开发中实现轮播效果的强大工具。通过本文的详细介绍和示例,你应该能够掌握Swiper组件的基本使用、属性配置以及如何结合扩展函数进行轮播图的快速开发。如果你有任何问题或想要进一步讨论,欢迎在评论区留下你的想法。


以上就是一篇关于华为鸿蒙开发中Swiper轮播组件的详细教程。希望这篇文章能帮助你更好地理解和使用华为鸿蒙开发中的Swiper组件。如果你在使用 DevEco Studio 进行开发时遇到任何问题,欢迎交流讨论。

标签:轮播,鸿蒙,Color,手把手,第八节,backgroundColor,Text,组件,Swiper
From: https://blog.csdn.net/2302_80663569/article/details/144209536

相关文章

  • 【kali笔记】MSF内网渗透,手把手教你如何免杀过360!
    ~勤奋刻苦,成就未来~1、TCP与UDP区别总结?TCP面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP是无连接的,即发送数据之前不需要建立连接,;UDP尽最大努力交付,即不保证可靠交付。(由于UDP无需建立连接,因此UDP不会引入建立连接的时延,TCP需要在端系统中维护连接状态,比如接受......
  • 手把手教你华为鸿蒙开发之第六节
    华为鸿蒙开发:循环控制语句详解与示例引言在编程中,循环控制语句是处理重复任务的重要工具。在华为鸿蒙操作系统的开发中,我们可以使用while和for循环来实现代码的重复执行。本文将通过DevEcoStudio介绍鸿蒙开发中的循环控制语句,并提供丰富的示例来帮助理解。while循环w......
  • 纯血鸿蒙进程加速,混合app开发迎来又一波新机会
    时间不知不觉又来到了2024年最后一个月,又到了辞旧迎新,复盘今年,放眼明年的时候,开发行业也不例外。 纯血鸿蒙闭源操作酝酿和发酵了一年,终于在10月份发布了商用版本,迅速跟上的,还有11月份华为新产品全新操作系统的闪亮亮相登场。 纯血鸿蒙大潮流已无法阻挡。 鸿蒙......
  • 释放超凡性能,打造鸿蒙原生游戏卓越体验
    11月26日在华为Mate品牌盛典上,全新Mate70系列及多款全场景新品正式亮相。在游戏领域,HarmonyOSNEXT加持下游戏的性能得到充分释放。HarmonyOSSDK为开发者提供了软硬协同的系统级图形加速解决方案------GraphicsAccelerateKit(图形加速服务),帮助游戏应用快速集成超帧、GTX自适应稳......
  • YOLOv11原创改进专栏|注意力机制篇|ECA注意力机制手把手添加教程
    本文介绍:本专栏文章不会讲太复杂的定义,将从小白的角度去进行讲解,为大家节省时间,高效去做实验,文章将会简单介绍一下相关模块(也会附带相关论文链接,有兴趣可以阅读,可以作为论文文献),本专栏主要专注于YOLO改进实战!适用于小白入门也可以水论文,大佬跳过!!!文章适用人群:研一、准研究生(研......
  • Python数据爬取处理可视化,手把手全流程教学
    这篇博客中,选取openjudge网站上“百练”小组中的用户答题数据,作为材料进行教学目录爬取主页面内容主页面内容提取需求数据爬取数据处理数据分析网站地址:http://bailian.openjudge.cn/使用到的Python包:requests、pandas、re、BeautifulSoup、time、matplotlib、seaborn爬......
  • 如何在原生鸿蒙中进行RN的断点调试
    方式一 chromedevtools的方式第一步:metro的方式加载bundle先设置好原生这边的代码,然后记得打开RN服务器。注意这个enableDebugger的值一定要设置为true第二步:配置devtools调试端口号打开chorome,输入chrome://inspect,会进入devtools的调试设置页面:点击页面上的co......
  • 「Mac畅玩鸿蒙与硬件39」UI互动应用篇16 - 倒计时环形进度条
    本篇将带你实现一个倒计时环形进度条应用。用户可以设置倒计时的时间,启动倒计时后,应用会动态显示一个随着时间递减的环形进度条,同时伴有数字倒计时显示。这是结合动画效果和时间管理的实用示例。关键词UI互动应用倒计时器环形进度条动画效果状态管理一、功能说明倒计......
  • Windows系统使用安装ActiveMQ消息队列手把手保姆级教程踩坑实录
    文章目录一、什么是ActiveMQ1.概述2.架构3.应用场景二、下载ActiveMQ三、解压四、配置环境变量五、启动ActiveMQ六、验证安装和服务七、停止ActiveMQ八、注意事项一、什么是ActiveMQ1.概述ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS1.1规范(JavaMessage......
  • 手把手教你华为鸿蒙开发之第五节
    华为鸿蒙开发:条件语句和分支逻辑引言在编程中,根据不同的条件执行不同的代码块是常见的需求。华为鸿蒙操作系统的开发同样涉及到这些基础的控制流语句。本文将通过DevEcoStudio介绍鸿蒙开发中的条件语句和分支逻辑,包括if语句、switch语句和三元条件表达式,以及如何在UI中......