HarmonyOS应用开发快速入门(2):组件/Swiper和Indicator

打印 上一主题 下一主题

主题 873|帖子 873|积分 2619

src/main/ets/pages/Index.ets
  1. class BannerClass {  // 横幅类
  2.   id: string = '';  // 字符串/编号
  3.   imageSrc: ResourceStr = '';  // 资源字符串/图片来源
  4.   url: string = '';  // 字符串/URL
  5.   constructor(id: string, imageSrc: ResourceStr, url: string) {
  6.     this.id = id;
  7.     this.imageSrc = imageSrc;
  8.     this.url = url;
  9.   }
  10. }
  11. @Entry
  12. @Component
  13. struct Index {  // 结构/索引
  14.   @State message: string = '快速入门';  // 变量/消息
  15.   build() {
  16.     Column() {  // 列方向铺展的对象
  17.       Text(this.message)
  18.         .fontSize(24)  // 字体大小
  19.         .fontWeight(700)  // 笔画粗细
  20.         .width('100%')  // 对象的容器的相对宽度
  21.         .textAlign(TextAlign.Start)  // 对齐方式
  22.         .padding({ left: 16 })  // 对象的内部的左侧的填充
  23.         .fontFamily('HarmonyHeiTi-Bold')  // 字体
  24.         .lineHeight(30)  // 自上向下的行高
  25.       Banner()  // 横幅的对象
  26.     }
  27.     .height('100%')  // 对象的容器的相对高度
  28.     .width('100%')
  29.     .backgroundColor('#F1F3F5') // 背景色
  30.   }
  31. }
  32. @Preview
  33. @Component
  34. struct Banner {
  35.   @State bannerList: Array<BannerClass> = [  // 数组/横幅类
  36.     new BannerClass('pic0', $r('app.media.banner_pic0'),  // 类的实例化
  37.       'https://developer.huawei.com/consumer/cn/training/course/video/C101718352529709527'),
  38.     new BannerClass('pic1', $r('app.media.banner_pic1'),
  39.       'https://developer.huawei.com/consumer/cn/'),
  40.     new BannerClass('pic2', $r('app.media.banner_pic2'),
  41.       'https://developer.huawei.com/consumer/cn/deveco-studio/'),
  42.     new BannerClass('pic3', $r('app.media.banner_pic3'),
  43.       'https://developer.huawei.com/consumer/cn/arkts/'),
  44.     new BannerClass('pic4', $r('app.media.banner_pic4'),
  45.       'https://developer.huawei.com/consumer/cn/arkui/'),
  46.     new BannerClass('pic5', $r('app.media.banner_pic5'),
  47.       'https://developer.huawei.com/consumer/cn/sdk')
  48.   ];
  49.   build() {
  50.     Swiper() {  // 滑动和轮播的对象
  51.       ForEach(this.bannerList, (item: BannerClass, index: number) => {
  52.         Image(item.imageSrc)
  53.           .objectFit(ImageFit.Contain)  // 图片的适配的方式
  54.           .width('100%')  /* (列对象没有高度) */
  55.           .padding({ top: 11, left: 16, right: 16 })
  56.           .borderRadius(16)
  57.       }, (item: BannerClass, index: number) => item.id)
  58.     }
  59.     .autoPlay(true)  // 自动轮播
  60.     .loop(true)  // 循环播放
  61.     .indicator(  // 指示器
  62.       new DotIndicator()  // 点状指示器
  63.         .color('#1a000000')  // 颜色
  64.         .selectedColor('#0A59F7')  // 选中的颜色
  65.     )
  66.   }
  67. }
复制代码
src/main/resources/base/media/banner_pic0.png
src/main/resources/base/media/banner_pic1.png
src/main/resources/base/media/banner_pic2.png
src/main/resources/base/media/banner_pic3.png
src/main/resources/base/media/banner_pic4.png
src/main/resources/base/media/banner_pic5.png

使用Swiper构建运营推荐位-HarmonyOS应用开发快速入门-Codelabs-华为开发者联盟

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表