第十节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、效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478714.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

360企业安全浏览器兼容模式显示异常某个内容不显示 偶发现象 本地无法复现情况js

360企业安全浏览器兼容模式显示异常 &#xff0c;现象测试环境频发 &#xff0c;本地连测试无法复现&#xff0c;线上反馈问题。 出现问题的电脑为windows且使用360企业安全浏览器打开兼容模式可复现 复现过程&#xff1a; 不直接点击超链接跳转页面 &#xff0c;登录后直接通…

zabbix“专家坐诊”第234期问答

问题一 Q&#xff1a;除了系统信息外&#xff0c;仪表盘显示的信息都是空的是什么原因&#xff1f;已经是admin role&#xff0c;但不是super admin role的。 A&#xff1a;权限不够&#xff0c;在用户组赋主机权限。 问题二 Q&#xff1a;请问队列积压太多可以怎么解决&#…

Matlab进阶绘图第46期—气泡分组柱状图

气泡分组柱状图是分组柱状图与气泡图的组合—在分组柱状图每组柱子上方添加大小不同的气泡&#xff0c;用于表示另外一个数据变量&#xff08;如每组柱子值的和&#xff09;的大小。 本文利用自己制作的BarBubble工具&#xff0c;进行气泡分组柱状图的绘制&#xff0c;先来看一…

cesium Clock JulianDate 日照分析

cesium在初始化的时候会自动把Clock对象挂载到容器上Clock内部以JulianDate维护时间&#xff0c;比北京时间慢8个小时&#xff0c;想显示北京时间需要计算时差JulianDate的日期部分和秒数部分是分开的 julianDayNumber&#xff1a;指整数天&#xff0c;记录从公元前4713年正午以…

PCD8011TG兼用可控硅调光线性LED控制芯片 输出电流可调性 恒精度高 保护性强

概述 PCD8011TG是一款兼容可控硅调光线性恒流芯片&#xff0c;输出电流可调&#xff0c;恒流精度高&#xff0c;应用方案简单&#xff0c;不需要太多的组件&#xff0c; 板载IC驱动器&#xff0c;易于组装&#xff0c;降低了材料成本&#xff0c;提高了生产效率&#xff0c;具…

SQL中条件放在on后与where后的区别

数据库在通过连接两张或多张表来返回记录时&#xff0c;都会生成一张中间的临时表&#xff0c;然后再将这张临时表返回给用户。 在使用left jion时&#xff0c;on和where条件的区别如下&#xff1a; on条件是在生成临时表时使用的条件&#xff0c;不管on中的条件是否为真&…

146.【局域网_FTP大型文件传输服务器搭建】

FTP文件传输协议 1.FTP是什么?2.window上配置FTP服务器 (无需密码验证)3.打开FTP的防火墙4.两台同一个局域网下电脑进行测试5.window上配置FTP服务器 (需要密码验证) 1.FTP是什么? FTP就是文件传输协议。用于互联网双向传输&#xff0c;控制文件下载空间在服务器复制文件从本…

【AIGC调研系列】Gemini1.5pro的优势是什么

Gemini 1.5 Pro的优势主要体现在以下几个方面&#xff1a; 多模态理解和处理能力&#xff1a;Gemini 1.5 Pro能够处理和理解多种类型的数据&#xff0c;包括文本、图片、视频等&#xff0c;这使得它在分析、分类和总结复杂信息方面具有显著优势[2][5][6]。这种能力特别适合于需…

00后卷王的自述,难道我真的很卷?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前段时间去面试了一个公司&#xff0c;成功拿到了offer&#xff0c;薪资也从12k涨到了18k&#x…

JUC-1M/75±5°超小型密封温度继电器 体积小、重量轻、控温精度高 JOSEF约瑟

JUC系列温度继电器 JUC-1M型超小型密封温度继电器 JUC-2M型超小型密封温度继电器 继电器JUC-027M/2531H-III-G温度继电器 JUC-1M 10C常开温度继电器 JUC-1M 105C温度继电器 用途 小型温控开关系接触感应式密封温度继电器&#xff0c;具有体积小、重量轻、控温精度高等特点&…

sy4文件、目录操作命令-补充find

补充下find的命令实例把&#xff0c;我搜了下发现这篇文章的笔记符合课程的实例&#xff1a; 参考< How to Find a File in Linux | Find Command - GeeksforGeeks> 这里做了实验&#xff0c;给大家参考&#xff1a; Linux, renowned for its robust command-line int…

根据图片识别车牌号

群里有人发的毕设要求&#xff0c;本身不是专业的后端&#xff0c;也就没敢接&#xff0c;但对车牌识别挺感兴趣的&#xff0c;于是自己就做了下 看了网上别人的做法&#xff0c;基本都是调用大厂提供的API。这里我就选择百度的了&#xff0c;因为有一月1000次的免费额度 首先打…

C++:类的6大默认成员函数(拷贝构造函数篇)

文章目录 1、拷贝构造函数的概念const用途 2、拷贝构造函数的特性浅拷贝/值拷贝 前言:Hello,大家好&#xff0c;咱这篇博客继续默认成员函数&#xff0c;今天的笔记分享为拷贝构造函数~ 1、拷贝构造函数的概念 在创建对象时&#xff0c;我们能否创建一个与已存在对象一某一样的…

C/C++代码性能优化——数据结构和算法

1. 数据结构 合适的数据结构&#xff0c;对代码的性能提升非常明显。针对数据结构&#xff0c;我们不需要可以做到白板手写的程度。只要熟知其特点&#xff0c;然后推导出其应用场景&#xff0c;等到了真正需要时&#xff0c;再查找示例代码来修改应用即可。 1.1. 数组 固定…

Nginx离线安装(保姆级教程)

1、下载与安装gcc-c环境 获取rpm包的方式很多&#xff0c;在这里推荐使用yum工具获取&#xff0c;因为手动从官网下载&#xff0c;手动执行rpm -Uvh *.rpm --nodeps --force命令进行安装&#xff0c;可能会缺少某个依赖&#xff0c;我们也不确定到底需要哪些依赖。 因此需要准…

Java毕业设计 基于springboot医院挂号系统 医院管理系统

Java毕业设计 基于springboot医院挂号系统 医院管理系统 springboot医院挂号系统 医院管理系统 功能介绍 用户&#xff1a;登录 首页 个人资料 修改密码 门诊管理 用户挂号 医生&#xff1a;登录 首页 个人资料 修改密码 门诊管理: 用户挂号 处方划价 项目划价 项目缴费 项目…

【机器学习300问】43、回归模型预测效果明明很好,为什么均方根误差很大?

一、案例描述 假设我们正在构建一个房地产价格预测模型&#xff0c;目标是预测某个城市各类住宅的售价。模型基于大量房屋的各种特征&#xff08;如面积、地段、房龄、楼层等&#xff09;进行训练。 回归模型在大部分情况下对于住宅价格预测非常精准&#xff0c;用户反…

【教程】深入探究 JS代码混淆与加密技术

&#x1f512; 引言 在网络世界中&#xff0c;保护代码安全是至关重要的一环。JS代码混淆与加密技术则成为了开发者们常用的手段之一。本文将深入探讨混淆和加密的概念&#xff0c;以及其实现原理和应用方法&#xff0c;帮助读者更好地了解并运用这些技术。 ✨ 概念介绍 &quo…

调用百度通用翻译API进行中文翻译(附python代码)

文章目录 1. 百度API2. API接口3. 大规模使用4. AcknowledgmentReference彩蛋&#xff1a;百度大脑 AI开放平台 1. 百度API 在百度翻译开放平台&#xff08;http://api.fanyi.baidu.com/api/trans/product/desktop&#xff09;注册账号&#xff0c;可以免费使用基本版翻译功能…

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间. 时间复杂度 算法中的基本操作的执行次数&#xff0c;为算法的时间复杂度. 只需要大概执行次数&#xff0c;我们使用大O的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…