文档管理中心

HarmonyOS应用开发-栅格组件体验

效果如图:

点击图中文字。

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220110110430.png  

一.基本概念

1.grid-container

栅格布局容器根节点,使用grid-row与grid-col进行栅格布局。

支持通用属性、样式、方法、事件。

属性:

除了支持通用属性外,还支持如下属性:

名称

类型

默认值

必填

描述

columns

string | number

auto

设置当前布局总列数,使用string类型时仅支持auto,配置为auto时按照当前的sizetype决定总列数:

xs:2列

sm:4列

md:8列

lg:12列

sizetype

string

auto

设置当前栅格使用的响应尺寸类型,支持xs, sm, md, lg类型,使用auto时按照当前容器大小自动选择xs, sm, md, lg类型。

gutter

<length>

24px

设置Gutter宽度

gridtemplate6+

string

default

当设置了columns和sizetype属性为auto时,可以设置栅格容器的布局模板,通过布局模块设置不同响应尺寸下的Columns、Gutters和Margins

方法:

除了支持通用方法外,还支持如下方法:

名称

参数

描述

getColumns

-

返回栅格容器列数

getColumnWidth

-

返回栅格容器column宽度

getGutterWidth

-

返回栅格容器gutter宽度

getSizeType

-

返回当前容器响应尺寸类型(xs|sm|md|lg)

2.grid-row

grid-row是栅格布局容器grid-container的子容器组件,使用flex横向布局,排列每个grid-col容器,justify-content与align-items默认为flex-start,支持折行显示。

支持通用属性、样式、方法、事件。

3.grid-col

grid-col是栅格布局容器grid-row的子容器组件。

支持通用属性、样式、方法、事件。

属性:

除了支持通用属性外,还支持如下属性:

名称

类型

默认值

必填

描述

xs

number|object

-

在分辨率为xs模式下,设置该项占用列数与偏移列数,当值为number类型时,仅设置列数,也可通过object同时设置占用列数与偏移列数,如{"span": 1, "offset": 0}

sm

number|object

-

在分辨率为sm模式下,该项占用列数与偏移列数,当值为number类型时,仅设置列数,也可通过object同时设置占用列数与偏移列数,如{"span": 1, "offset": 0}

md

number|object

-

在分辨率为md模式下,该项占用列数与偏移列数,当值为number类型时,仅设置列数,也可通过object同时设置占用列数与偏移列数,如{"span": 1, "offset": 0}

lg

number|object

-

在分辨率为lg模式下,该项占用列数与偏移列数,当值为number类型时,仅设置列数,也可通过object同时设置占用列数与偏移列数,如{"span": 1, "offset": 0}

span

number

1

在未设置明确断点时,默认占用列数

offset

number

0

未设置具体分辨率模式下偏移时,当前元素延容器布局方向,默认偏移的列数

二.体验案例

示例代码

Index.hml示例代码:

收起
自动换行
深色代码主题
复制

<!-- index.hml --><div style="flex-direction: column; padding-top: 80px;"> <grid-container id="mygrid" columns="8" gutter="20px" style="background-color: pink;"> <grid-row style="height:400px;justify-content:space-around;"> <grid-col span="2"> <div style="align-items: center;justify-content: center;height: 100%;width: 100%;"> <text style="color: dodgerblue;" onclick="getCol">grid 1</text> </div> </grid-col> <grid-col span="3" style="background-color:orange;"> <div style="width: 100%;height: 100%;padding: 20px;align-items: center;"> <text onclick="getColWidth">grid 2</text> </div> </grid-col> <grid-col span="4" style="background-color: aquamarine;"> <div style="width: 100%;height: 100%;align-items: center;"> <text on:click="getColWidth">grid 3</text> </div> </grid-col> </grid-row> </grid-container></div>

Index.js示例代码:

收起
自动换行
深色代码主题
复制

// index.jsimport prompt from '@system.prompt';export default { getCol(e) { this.$element('mygrid').getColumns(function (result) { prompt.showToast({ message: e.target.id + ' result = ' + result, duration: 3000, }); }) }, getColWidth(e) { this.$element('mygrid').getColumnWidth(function (result) { prompt.showToast({ message: e.target.id + ' result = ' + result, duration: 3000, }); }) }}

源码地址:

https://gitee.com/jltfcloudcn/jump_to/tree/master/grid 

attachmenttype
HarmonyOS应用开发-栅格组件体验.docx
download
点赞
1
收藏
回复
4
分享
举报
浏览580 发布于2022-01-10 03:08未知归属地
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。