当前位置: 首页 > news >正文

ArkUI 轮播图,选项卡,视频,图片组件全解 1

一、Swiper(轮播图)

轮播组件,专门实现图片 / 页面自动轮播、左右滑动切换

核心属性
  • index:默认显示第几个页面
  • loop:是否循环轮播
  • autoPlay:是否自动播放
  • interval:自动播放间隔时间(毫秒)

案例:

@Entry @Component struct SwiperDemo2{ private bannerList:Resource[] = [ $r('app.media.forth'), $r('app.media.fifth'), $r('app.media.sixth'), ] build() { Column(){ Swiper(){ ForEach(this.bannerList,(item:Resource)=>{ Image(item) .width('98%') .height('100%') .objectFit(ImageFit.Cover) .borderRadius(20) }) } .width('100%') .height('30%') .autoPlay(true) //自动播放 .interval(2000) //自动播放间隔 .loop(true) //是否循环播放 } } }

展示:

二、Tabs(选项卡)

实现顶部 / 底部标签栏 + 对应内容切换,点击标签切换不同页面

核心属性
  • barPosition:标签栏位置(顶部 / 底部)

案例:

@Entry @Component struct TabsBase1{ private bannerList:Resource[] = [ $r('app.media.forth'), $r('app.media.fifth'), $r('app.media.sixth'), ] build() { Column() { Swiper() { ForEach(this.bannerList, (item: Resource) => { Image(item) .width('98%') .height('100%') .objectFit(ImageFit.Cover) .borderRadius(20) }) } .width('100%') .height('30%') .autoPlay(true) //自动播放 .interval(1000) //自动播放间隔 .loop(true) //是否循环播放 Tabs() { TabContent() { Text('首页页面') .fontSize(24) } .tabBar('首页') TabContent() { Text('分类页面') .fontSize(24) } .tabBar('分类') TabContent() { Text('个人中心页面') .fontSize(24) } .tabBar('个人中心') TabContent() { Text('关于我们页面') .fontSize(24) } .tabBar('关于我们') } .barPosition(BarPosition.Start) } } }

展示:

三、Video(视频)

课程教学视频、商品介绍短视频、首页宣传视频、本地视频预览等页面。

核心属性
  • width:播放器宽度,支持固定数值 / 百分比
  • height:播放器高度,必须设置,否则视频无法渲染
  • muted:是否静音播放,true 静音,false 正常出声
  • loop:是否循环播放,true 播放完成自动重播
  • autoPlay:页面加载后是否自动播放视频
  • controls:是否显示系统自带播放控制条(进度、暂停、音量)

案例:

import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession'; @Entry @Component struct Index { private videoSrc:Resource = $rawfile('first.mp4') private pict:Resource = $r('app.media.fifth') private controller:VideoController = new VideoController() // private videoStr:string='http://www.w3school.com.cn/example/html5/mov_bbb.mp4'; build() { Column(){ Text('鸿蒙应用开发视频资源') .fontSize(30) .fontWeight(FontWeight.Bold) Video({ src:this.videoSrc, //设置视频本地资源 previewUri:this.pict, //视频封面 controller:this.controller //控制器,控制前进后退的按钮 }) .height('50%') .width('90%') .muted(true) //是否静音 .loop(true) // 循环播放 .autoPlay(false) //自动播放 .controls(true) //是否显示默认控制条 /* Video({ src:this.videoStr }) .height('50%') */ Button('开始学习') .width(150) .height(50) .fontSize(20) .backgroundColor(0xFF6B798E) .border({width:5, radius:10,color:0xFF3A506B}) } .width('100%') .height('100%') .justifyContent(FlexAlign.SpaceEvenly) } }

展示:

四、Image(图片)

渲染展示本地 / 网络图片资源,支持设置圆角、填充适配、尺寸、对齐等样式,用于页面图文内容展示。

核心属性
  • borderRadius:设置图片圆角,圆形头像宽高相等时设置一半数值即可
  • objectFit:图片填充适配模式,常用 ImageFit.Cover 等 5 种填充规则

案例:

@Entry @Component struct ImageDemo1{ build() { Column({space:20}){ Text('欢迎来到鸿蒙应用开发') .fontSize(30) .fontWeight(FontWeight.Bolder) .width('100%') .textAlign(TextAlign.Center) .padding(20) Image($r('app.media.forth')) .width('90%') .height(200) .borderRadius(15) .objectFit(ImageFit.Cover) //cover是等比例缩放,铺满页面,多余部分裁掉 Row(){ Column(){ Text("鸿蒙应用开发") .fontSize(22) .width('45%') .textAlign(TextAlign.Center) Text("ArkUI实战开发") .fontSize(20) .width('45%') .textAlign(TextAlign.Center) } Image($r('app.media.fifth')) .width('50%') } } .width('100%') .height('100%') } }

展示:

http://www.cnnetsun.cn/news/2989449.html

相关文章:

  • 450+终端配色方案:从视觉疲劳到高效愉悦的蜕变之旅
  • FairNVT:基于噪声注入与子空间学习的Transformer公平性增强框架详解
  • 搭建完整的Agent系统:Function Calling与工具调用实战
  • SVGcode:3步将位图转换为高清矢量图的完整指南
  • 大模型代码评估中的偏见:权威性、冗长度与思维链效应解析
  • 锂离子电池DFN模型降阶解析:从物理机理到BMS嵌入式应用
  • 构建生产级RAG系统实践:从原型到高可用问答引擎
  • 如何将Android中的照片传输到Windows 11/10
  • 分布式图Transformer训练:自适应并行与稀疏计算优化实践
  • vLLM 凭什么成为主流:推理架构的设计抉择与生态博弈
  • 深度解密BCMeshTransformView:iOS视图网格变形实战解决方案
  • 企业级 Agent 商业化:从技术原型到付费产品的架构演进与定价策略
  • Tree of Concepts:融合概念瓶颈与决策树,实现可解释的持续学习
  • 辛苦一整年只有暑假能搞科研,别再白白浪费两个月假期
  • 零基础学AI人工智能:9.3 分类算法
  • AI Agent入门血泪史:从“AI真厉害”到“还我100块”,我踩的坑和学到的经验
  • 计算机Django毕设实战-基于人脸识别的高校自习室预约签到系统设计与搭建 Django 架构下智能自习室座位预约管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • SQLi-Labs靶场从零搭建到通关全攻略(五):堆叠注入与ORDER BY注入
  • 软件工程中的关怀伦理:从抽象关注到具体关怀的实践指南
  • Mac鼠标终极优化指南:5分钟让普通鼠标媲美苹果触控板
  • 人血清与人血清白蛋白HSA解析:纤维蛋白原去除、cGMP人AB血清与细胞治疗原料选型
  • OpenSSL策略映射实战:构建企业级PKI精细化证书控制体系
  • IDA Pro漏洞分析实战:从二进制逆向到漏洞利用开发
  • DCW差分一致性加权:提升扩散模型低步采样质量的关键技术
  • 思维链断裂与工具调用失效:AI Agent 决策机制的工程化剖析
  • 谱图理论在低轨星座星间链路拓扑优化中的应用与实践
  • Java ClassLoader实战:类隔离、热更新与插件化全解析
  • 第11期 | 为什么需要框架?从jQuery到React
  • 如何快速解锁中兴光猫工厂模式:终极Telnet权限获取指南
  • 如何快速解密QQ音乐加密音频:qmc-decoder终极指南