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

HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(二)

书接上回,让我们继续来学习ArkUI的其他组件

目录,可以点击跳转到想要了解的组件详细内容

    • 组件四:Button
    • 组件五:Slider
    • 组件六: Column & Row
    • 组件七:循环控制
    • 组件八: List

组件四:Button

Button有三种类型提供给我们使用,如下:

Capsule:胶囊型按钮,默认样式;此类型按钮的圆角自动设置为高度的一半,不支持通过borderRadius属性重新设置圆角。

Circle:圆形按钮,不支持通过borderRadius属性重新设置圆角。

Normal:普通按钮(默认不带圆角),此类型的按钮默认圆角为0,支持通过borderRadius属性重新设置圆角。
在这里插入图片描述

组件五:Slider

Slider组件为滑动条,可快速调节设置值,如音量、亮度调节等
接口为:

Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direction?: Axis, reverse?: boolean})

在这里插入图片描述
注:OutSet:滑块在滑轨上
InSet:滑块在滑轨内

组件六: Column & Row

1 线性布局介绍

2 自适应拉伸

3 自适应缩放

4 定位方式

这个我会抽空单独出一篇博客,这里列个大纲,敬请期待

组件七:循环控制

在ArkTS开发中,我们使用ForEach / if-else 来控制页面的循环布局。

class Item {name: stringimage: ResourceStrprice: numberconstructor(name: string, image: ResourceStr, price: number){this.name = namethis.image = imagethis.price = price}
}
@Entry
@Component
struct Index {private items: Array<Item> = [new Item('os1',$r('app.media.hongmeng'),2000),new Item('os2',$r('app.media.hongmeng'),3000),new Item('os3',$r('app.media.hongmeng'),4000),new Item('os4',$r('app.media.hongmeng'),5000),new Item('os5',$r('app.media.hongmeng'),6000)]build() {Column({space:8}){Row(){Text('商品列表').fontSize(30).fontWeight(FontWeight.Bold)}.width('100%').margin({bottom: 20})// 循环控制ForEach(this.items,item=>{Row({space:10}){Image(item.image).width(100)Column({space: 4}){Text(item.name).fontSize(20).fontWeight(FontWeight.Bold)Text('¥' + item.price).fontSize(18).fontColor('#ff0000')}.height('100%').alignItems(HorizontalAlign.Start)}.width('100%').backgroundColor('#fff').borderRadius(20).height(120).padding(10)})}.width('100%').height('100%').backgroundColor('#efefef').padding(20)}
}

还可以使用if-else

if(判断条件){//内容}else{//内容}通过判断条件决定使用哪种方式渲染

组件八: List

在这里插入图片描述
List组件不仅可以设置主轴的方向,还可以设置交叉轴的布局方式、添加分割线、滚动条等,这些效果通过以下属性来实现
在这里插入图片描述

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

相关文章:

  • 斩!JavaScript语法进阶
  • UFO:Windows操作系统的具象智能代理
  • win10/11无休眠设置和断电后电池模式自动休眠而不是睡眠-用以省电
  • 【动态规划之斐波那契数列模型】——累加递推型动态规划
  • 5g通信系统用到的crc码
  • Ubuntu-22.04 虚拟机安装
  • Windows、Linux系统上进行CPU和内存压力测试
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发八,使用SDLVSQT显示yuv文件 ,使用ffmpeg的AVFrame
  • HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解
  • css简写属性
  • 力扣刷题(sql)--零散知识点(2)
  • TCP是怎样工作的网络拥塞控制理论和算法部分记录
  • CSRF初级靶场
  • CSP/信奥赛C++刷题训练:经典差分例题(2):洛谷P9904 :Mieszanie kolorów
  • Java | Leetcode Java题解之第525题连续数组
  • YOLOv8改进 - 注意力篇 - 引入iRMB注意力机制
  • 项目学习总结
  • 用于低成本接收机的LoRa SF11 500KHz波形检测解调算法
  • WEB防护
  • 使用Jest进行JavaScript单元测试
  • 网络安全法详细介绍——爬虫教程
  • PCB什么情况该敷铜,什么情况不该敷铜!
  • 标准化的企业级信息管理系统信息中心必备PHP低代码平台
  • Rust 力扣 - 1984. 学生分数的最小差值
  • 【098】基于SpringBoot+Vue实现的垃圾分类系统
  • STM32CUBEIDE FreeRTOS操作教程(八):queues多队列
  • SIGNAL TAP使用记录
  • 基于vue3和elementPlus的el-tree组件,实现树结构穿梭框,支持数据回显和懒加载
  • 彻底理解链表(LinkedList)结构
  • TON 区块链开发的深入概述#TON链开发#DAPP开发#交易平台#NFT#Gamefi链游