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

第十节HarmonyOS 常用容器组件3-GridRow

1、描述

栅格容器组件,仅可以和栅格子组件(GridCol)在栅格布局场景中使用。

2、子组件

可以包含GridCol子组件。

3、接口

GridRow(options:{columns: number | GridRowColumnOption, gutter?: Length | GutterOption, Breakpoints?: Breakpoints, direction?: GridRowDirection})

4、参数

参数名

参数类型

必填

描述

columns

number | GridRowColumnOption

设置布局列数。

gutter

Length | GutterOption

栅格布局间距,x代表水平方向,y代表竖直方向。

Breakpoints

Breakpoints

设置断点值的断点数列以及基于窗口或容器尺寸的相应参照。

direction

GridRowDirection

栅格布局排列方向。

5、GridRowColumnOption枚举说明:

栅格在不同宽度设备类型下,栅格列数。

参数名

参数类型

参数描述

xs

number

最小宽度类型设备。

sm

number

小宽度类型设备。

md

number

中等宽度类型设备。

lg

number

大宽度类型设备。

xl

number

特大宽度类型设备。

xxl

number

超大宽度类型设备。

6、GutterOption说明:

参数名

参数类型

参数描述

x

Length | GridRowSizeOption

水平gutter option。

y

Length | GridRowSizeOption

竖直gutter option。

7、GridRowSizeOption说明:

栅格在不同宽度设备类型下,gutter的大小。

参数名

参数类型

参数描述

xs

number

最小宽度类型设备。

sm

number

小宽度类型设备。

md

number

中等宽度类型设备。

lg

number

大宽度类型设备。

xl

number

特大宽度类型设备。

xxl

number

超大宽度类型设备。

8、BreakPoints说明:

参数名

参数类型

参数描述

value

Array<string>

设置段带你位置的单调递增数组。默认值:[“320vp”, “520vp”, “840vp”]。

reference

BreakpointsReference

断点切换参照物。

  // 启用xs、sm、md共3个断点

  breakpoints: {value: ["100vp", "200vp"]}

  // 启用xs、sm、md、lg共4个断点,断点范围值必须单调递增

  breakpoints: {value: ["320vp", "520vp", "840vp"]}

  // 启用xs、sm、md、lg、xl共5个断点,断点范围数量不可超过断点可取值数量-1

  breakpoints: {value: ["320vp", "520vp", "840vp", "1080vp"]}

9、BreakpointsReference枚举类型:

枚举名

描述

WindowSize

以窗口为参照。

ComponentSize

以容器为参照。

10、GridRowDirection枚举类型:

枚举名

描述

row

栅格元素按照行为方向排列。

rowReverse

栅格元素按照逆序行为方法排列。

栅格最多支持xs、sm、md、lg、xl、xxl六个断点,且名称不可修改。假设传入的数组是[n0, n1, n2, n3, n4],各个断点取值如下:

断点

取值范围

xs

[0, n0)

sm

[n0, n1)

md

[n2, n2)

lg

[n3, n3)

xl

[n4, n4)

xxl

[n5, INF)

说明:

栅格元素仅支持Row/RowReverse排列,不支持column/ColumnReverse方向排列。

栅格子组件仅能通过span、offset计算子组件位置与大小。多个子组件span超过规定列数时自动换行。

单个元素span大小超过最大列数时后台默认span为最大column数。

新一行的Offset加上子组件的span超过总列数时,将下一个子组件在新的一行放置。

例:Item1: GridCol({ span: 6}), Item2: GridCol({ span: 8, offset:11})

11、事件

名称:onBreakpointChange(callback: (breakpoints: string) => void)

功能说明:断点发生变化时触发回调。

参数:breakpoints - string - 取值为"xs"、"sm"、"md"、"lg"、"xl"、"xxl"。

12、示例

import router from '@ohos.router'@Entry
@Component
struct GridRowPage {@State message: string = '栅格容器组件,仅可以和栅格子组件(GridCol)在栅格布局场景中使用。'@State bgColors: Color[] = [Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Pink, Color.Grey, Color.Blue, Color.Brown];build() {Row() {Scroll() {Column() {Text(this.message).fontSize(20).fontWeight(FontWeight.Bold).width("96%")GridRow({columns: 5,gutter: { x: 5, y: 10 },breakpoints: { value: ["400vp", "600vp", "800vp"], reference: BreakpointsReference.WindowSize }}) {ForEach(this.bgColors, (color) => {GridCol({ span: { xs: 1, sm: 2, md: 3, lg: 4 } }) {Row().width("100%").height("20vp")}.borderColor(color).borderWidth(2)})}.width("100%").height("100%").margin({ top: 12 }).onBreakpointChange((breakpoint) => {console.log("currentBp = " + breakpoint)})GridRow({columns: 6,gutter: { x: 12, y: 20 },breakpoints: { value: ["400vp", "600vp", "800vp"], reference: BreakpointsReference.WindowSize }}) {ForEach(this.bgColors, (color) => {GridCol({ span: { xs: 1, sm: 2, md: 3, lg: 4 } }) {Row().width("100%").height("20vp")}.borderColor(color).borderWidth(2)})}.width("100%").height("100%").margin({ top: 12 })Blank(12)Button("GridRow文本文档").fontSize(20).backgroundColor('#007DFF').width('96%').onClick(() => {// 处理点击事件逻辑router.pushUrl({url: "pages/containerComponents/gridRow/GridRowDesc",})})}.width('100%')}}.padding({ top: 12, bottom: 12 })}
}

13、效果图

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

相关文章:

  • SCXI-1193是National Instruments公司生产的吗?
  • 使用clion开发tftlcd屏,移植驱动时遇到的问题记录
  • 工程信号的去噪和(分类、回归和时序)预测
  • 【VUE】前端阿里云OSS断点续传,分片上传
  • 春招面试高频题目总结
  • 基于SSM+Jsp+Mysql的KTV点歌系统
  • Docker Oracle提示密码过期
  • 5.3、【AI技术新纪元:Spring AI解码】图像生成API
  • 自营、入驻商城小程序开发
  • C++关键字:const
  • nodejs 常用命令
  • nginx配置详解+nginx_lua模块的使用
  • 大数据--hdfs--java编程
  • 力扣由浅至深 每日一题.10 最后一个单词的长度
  • 21 OpenCV 直方图均衡化
  • 对七层代理、四层代理、正向代理、反向代理的认识
  • 网络: 五种IO模型
  • AI大模型学习在当前技术环境下的重要性与发展前景
  • 【呼市经开区建设服务项目水、电能耗监测 数采案例】
  • 深度学习算法工程师面试常见问题及解答
  • OKR与敏捷开发、精益创业等方法如何协同工作?
  • 【ESP32 Arduino】定时器的使用
  • 网络基础(一)初识
  • 作业:基于udp的tftp文件传输实例
  • 【数据结构和算法】-贪心算法
  • 路由器里如何设置端口映射?
  • M3C芯片——支持工业级HMI应用,集成2D加速、4路串口及2路CAN
  • 如何做时间管理?
  • 三级数据库技术考点(详解!!)
  • 【技术栈】Redis 企业级解决方案