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

HarmonyOS ArkUI(基于ArkTS) 常用组件

一 Button 按钮

Button是按钮组件,通常用于响应用户的点击操作,可以加子组件

Button('我是button')Button(){Text('我是button')}

 type 按钮类型

Button有三种可选类型,分别为胶囊类型(Capsule)、圆形按钮(Circle)和普通按钮(Normal),通过type进行设置。

 Button({type:ButtonType.Normal}).backgroundColor('#ff6700')Button({type:ButtonType.Capsule}).backgroundColor('#ff6700')Button({type:ButtonType.Circle}).backgroundColor('#ff6700')

二 Radio 单选框

Radio是单选框组件,通常用于提供相应的用户交互选择项,同组的Radio中只有一个可以被中。

Radio({ value: 'Radio1', group: 'radioGroup' }).checked(false)
Radio({ value: 'Radio2', group: 'radioGroup' }).checked(true)

三 Toggle 切换按钮

如下,type为开关类型,包括Button、Checkbox和Switch,isOn为切换按钮的状态

Toggle({ type: ToggleType.Checkbox, isOn: false })

四 Progress 进度条

Progress是进度条显示组件,显示内容通常为目标操作的当前进度。具体用法请参考Progress。

设置进度条样式

Progress有5种可选类型,通过ProgressType可以设置进度条样式,ProgressType类型包括:ProgressType.Linear(线性样式)、 ProgressType.Ring(环形无刻度样式)、ProgressType.ScaleRing(环形有刻度样式)、ProgressType.Eclipse(圆形样式)和ProgressType.Capsule(胶囊样式)。

五 Image 图片

加载方式

  • 本地资源
Image('images/view.jpg')
.width(200)
  • 网络资源 
Image('https://www.example.com/example.JPG') // 实际使用时请替换为真实地址
  • Resource资源

使用资源格式可以跨包/跨模块引入图片,resources文件夹下的图片都可以通过$r资源接口读取到并转换到Resource格式。

Image($r('app.media.icon'))
  • rawfile
Image($rawfile('example1.png'))

设置缩放属性

Image().objectFit(ImageFit.属性)

重复样式

.objectRepeat(ImageRepeat.XY)  XY还可以是 X  ,  Y

设置图片渲染模式

.renderMode(ImageRenderMode.Template)  将图片设置为黑白

.syncLoad(true) 同步加载

一般情况下,图片加载流程会异步进行,以避免阻塞主线程,影响UI交互。但是特定情况下,图片刷新时会出现闪烁,这时可以使用syncLoad属性,使图片同步加载,从而避免出现闪烁。不建议图片加载较长时间时使用,会导致页面无法响应。

六  Video 视频

Video({src: '',  // 视频地址previewUri: '' //视频未播放图片}).muted(false) //设置是否静音.controls(false) //设置是否显示默认控制条.autoPlay(false) //设置是否自动播放.loop(false) //设置是否循环播放.objectFit(ImageFit.Contain) //设置视频适配模式

七 Popup 气泡提示 

文本提示气泡常用于只展示带有文本的信息提示,不带有任何交互的场景。Popup属性需绑定组件,当bindPopup属性中参数show为true时会弹出气泡提示。

@Entry
@Component
struct PopupExample {@State handlePopup: boolean = falsebuild() {Column() {Button('PopupOptions').onClick(() => {this.handlePopup = !this.handlePopup}).bindPopup(this.handlePopup, {message: 'This is a popup with PopupOptions',})}.width('100%').padding({ top: 5 })}
}

八 菜单

创建默认菜单

Button('click for Menu').bindMenu([{value: 'Menu1',action: () => {console.info('handle Menu1 select')}}])

http://www.lryc.cn/news/485810.html

相关文章:

  • 不用来回切换,一个界面管理多个微信
  • MySQL系统优化
  • 若依笔记(八):芋道的Docker容器化部署
  • 前端隐藏元素的方式有哪些?HTML 和 CSS 中隐藏元素的多种方法
  • sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!
  • 【Java】异常处理实例解析
  • flutter调试
  • 使用Web Workers提升JavaScript的并行处理能力
  • 【含开题报告+文档+PPT+源码】基于Spring Boot智能综合交通出行管理平台的设计与实现
  • STM32寄存器结构体详解
  • 如何建立devops?
  • shell基础(3)
  • 2024年11月16日Github流行趋势
  • k8s更新
  • ES6进阶知识一
  • C#/WinForm拖拽文件上传
  • IT运维的365天--019 用php做一个简单的文件上传工具
  • 详细的oracle rac维护命令集合
  • 23 种设计模式详解
  • Python毕业设计选题:基于django+vue的二手物品交易系统
  • VMware 17虚拟Ubuntu 22.04设置共享目录
  • Rust学习(五):泛型、trait
  • 智能零售柜商品识别
  • 2024智能机器人与自动控制国际学术会议 (IRAC 2024)
  • 计算机组成原理:总线与微命令
  • 10月回顾 | Apache SeaTunnel社区动态与进展一览
  • 网络基础(4)传输层
  • 计算机的错误计算(一百五十六)
  • 爬虫开发工具与环境搭建——开发工具介绍
  • Oracle 19c PDB克隆后出现Warning: PDB altered with errors受限模式处理