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

news2024/9/21 16:48:24

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.coloradmin.cn/o/1537033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业管理:如何防止私加客户、飞单私单

1、聚合聊天与聚合管理 多个微信号可以在一界面聚合聊天&#xff0c;不用来回切换账号&#xff0c;还可以设置常用的快捷回复提高与客户沟通的效率&#xff0c;右侧可备注客户信息及跟进情况&#xff0c;也可以查看好友朋友圈&#xff0c;素材库可保存图片、视频链接方便随时可…

MATLAB机器学习工具箱——傻瓜式操作

一、使用回归学习期预测北京二手房房价 软件&#xff1a;MATLAB R2023 a 数据&#xff1a; 第一步&#xff1a;导入原始数据和待预测数据 第二步 &#xff1a;打开工具箱中的回归学习器导入学习数据 1.新建会话 2.寻找导入learning data 3.自动锁定前7列为自变量&#xff…

Day17:LeedCode 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和

110. 平衡二叉树 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 平衡二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 思路: 二叉树节点的深度&#xff1a;指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度&#xff1a;指从该节点到叶…

详解Python的函数嵌套

Python语言允许在定义函数的时候&#xff0c;其函数体内又包含另外一个函数的完整定义&#xff0c;这就是我们通常所说的嵌套定义。 实例1&#xff1a; def OutFun(): #定义函数OutFun()&#xff0c;m3 #定义变量m3;def InFun(): #在OutFun内定义函…

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

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

小白必看的python中的Bool运算和真假值

在python中&#xff0c;任何对象都可以判断其真假值&#xff1a;True&#xff0c;False 在if或while条件判断中&#xff0c;下面的情况值为False&#xff1a; 1.None 2.Flase 3.数值为0的情况&#xff0c;如&#xff1a;0,0.0,0j 4.所有空序列&#xff0c;如&#xff1a;,…

基于SpringBoot的网上订餐系统(含源文件)

&#xff08;源码附文章底部&#xff09; 摘 要 随着我国经济的飞速发展&#xff0c;人们的生活速度明显加快&#xff0c;在餐厅吃饭排队的情况到处可见&#xff0c;近年来由于新兴IT行业的空前发展&#xff0c;它与传统餐饮行业也进行了新旧的结合&#xff0c;很多餐饮商户开始…

Linux docker7--私有镜像仓库registry和UI搭建及使用

一、对于开源的镜像&#xff0c;如redis&#xff0c;nginx等&#xff0c;可以通过官方仓库Docker Hub&#xff0c;或者国内的阿里云等共有仓库下载获取到镜像。但是企业内对于自己的研发产品不可能往公共仓库去发布镜像的&#xff0c;一般都会搭建私有的镜像仓库&#xff0c;保…

RHCSA(第一天)

1.部署Linux环境&#xff1a; 安装Vmware之后&#xff0c;在windows会产生两个虚拟网卡&#xff1a;vmnet1&#xff0c; vmnet8 部署Linux&#xff1a;需要有网卡&#xff0c;必须要知道root用户的密码&#xff0c;和你普通的用户的用户名和密码 远程连接配置&#xff1a…

面试笔记——Redis(双写一致、持久化)

双写一致 双写一致性&#xff1a; 当修改了数据库中的数据&#xff0c;也要更新缓存的数据&#xff0c;使缓存和数据库中的数据保持一致。 相关问题&#xff1a;使用Redis作为缓存&#xff0c;mysql的数据如何与Redis进行同步&#xff1f;——双写一致性问题 回答时&#xff0…

携程旅行web逆向

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章…

List系列集合:ArrayList、LinkedList --java学习笔记

List系列集合 特点&#xff1a;有序、可重复、有索引 ArrayList&#xff1a;有序、可重复、有索引LinkedList&#xff1a;有序、可重复、有索引 List集合的特有方法 List集合因为支持索引&#xff0c;所以多了很多与索引相关的方法&#xff0c;当然&#xff0c;Collection的…

(附源码)基于Spring Boot与Vue的宠物用品销售系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

如何使用人工智能和ChatGPT来优化营销转化率

人工智能 &#xff08;AI&#xff09; 和营销的交集正在彻底改变企业与客户互动的方式&#xff0c;最终改变营销转化率。人工智能能够分析大量数据、理解模式和自动执行任务&#xff0c;它不仅是一项创新技术&#xff0c;而且是营销领域的根本性转变。这种转变允许更加个性化、…

基于python+vue学生作业管理系统flask-django-nodejs-php

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

【并发编程】并发并行,同步异步,线程安全,线程的几种状态并发三要素?创建线程的方法?线程间的通信方式?进程的通信方式?多线程的上下文切换?CAS 算法

目录 并发并行&#xff0c;同步异步&#xff0c;线程安全 线程的几种状态 并发三要素&#xff1f; 创建线程的方法&#xff1f; 线程间的通信方式&#xff1f; 进程的通信方式&#xff1f; 多线程的上下文切换? CAS 算法 并发并行&#xff0c;同步异步&#xff0c;线程…

CICD流水线(发布后端代码)!!!

1、新建流水线 2、添加流水线源 3、测试环节 4、构建上传 ①java构建上传 ②java镜像构建 5、部署 1、Docker部署 6、开启代码推送自动部署 ①开启自动部署 ②找到你代码提交的私有仓库 7、整体叙述 ①&#xff1a;新建流水线 ②&#xff1a;添加流水线源&#xff0c;选择代码…

python发艺美发店管理系统flask-django-php-nodejs

系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的…

(南京观海微电子)——LCD与OLED优缺点对比

屏幕区别 如何区分OLED屏幕和LCD屏幕&#xff1f; 我们可以通过简单的方式区分OLED屏幕和LCD屏幕&#xff0c;打开一部手机的相机&#xff0c;调整到专业模式&#xff0c;快门调到最高&#xff0c;然后对着点亮的屏幕观察&#xff0c;如果出现规则的条纹就是OELD屏幕&#xff…

基于多态的职工管理系统学习记录

职工管理系统 1、管理系统需求 公司中职工分为三类&#xff1a;普通员工、经理、老板&#xff0c;显示信息时&#xff0c;需要显示职工编号、职工姓名、职工岗位、以及职责 普通员工职责&#xff1a;完成经理交给的任务 经理职责&#xff1a;完成老板交给的任务&#xff0c…