1# 栅格设置 2 3<!--deprecated_code_no_check--> 4> **说明:** 5> 6> - 从API version 9开始,该模块不再维护,推荐使用新组件[GridCol](ts-container-gridcol.md)、[GridRow](ts-container-gridrow.md)替代。 7> 8> - 栅格布局的列宽、列间距由距离最近的GridContainer父组件决定。使用栅格属性的组件树上至少需要有1个GridContainer容器组件。 9> 10> - gridSpan、gridOffset属性调用时其父组件或祖先组件必须是GridContainer。 11 12## 属性 13 14| 名称 | 参数类型 | 描述 | 15| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | 16| useSizeType<sup>(deprecated) </sup> | {<br/>xs?: number \| { span: number, offset: number },<br/>sm?: number \| { span: number, offset: number },<br/>md?: number \| { span: number, offset: number },<br/>lg?: number \| { span: number, offset: number }<br/>} | 设置在特定设备宽度类型下的占用列数和偏移列数,span: 占用列数; offset: 偏移列数。<br/>当值为number类型时,仅设置列数, 当格式如{"span": 1, "offset": 0}时,指同时设置占用列数与偏移列数。<br/>- xs: 指设备宽度类型为SizeType.XS时的占用列数和偏移列数。<br/>- sm: 指设备宽度类型为SizeType.SM时的占用列数和偏移列数。<br/>- md: 指设备宽度类型为SizeType.MD时的占用列数和偏移列数。<br/>- lg: 指设备宽度类型为SizeType.LG时的占用列数和偏移列数。<br/>该属性从API version 9开始废弃,推荐使用新组件[GridCol](ts-container-gridcol.md)、[GridRow](ts-container-gridrow.md)。 | 17| gridSpan<sup>(deprecated) </sup> | number | 默认占用列数,指useSizeType属性没有设置对应尺寸的列数(span)时,占用的栅格列数。<br/>**说明:**<br/>设置了栅格span属性,组件的宽度由栅格布局决定。<br>默认值:1<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。<br/>该属性从API version 14开始废弃,推荐使用新组件[GridCol](ts-container-gridcol.md)、[GridRow](ts-container-gridrow.md)。 | 18| gridOffset<sup>(deprecated) </sup> | number | 默认偏移列数,指useSizeType属性没有设置对应尺寸的偏移(offset)时, 当前组件沿着父组件Start方向,偏移的列数,也就是当前组件位于第n列。<br/>**说明:**<br/>- 配置该属性后,当前组件在父组件水平方向的布局不再跟随父组件原有的布局方式,而是沿着父组件的Start方向偏移一定位移。<br/>- 偏移位移 = (列宽 + 间距)\* 列数。<br/>- 设置了偏移(gridOffset)的组件之后的兄弟组件会根据该组件进行相对布局,类似相对布局。<br>默认值:0<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。<br/>该属性从API version 14开始废弃,推荐使用新组件[GridCol](ts-container-gridcol.md)、[GridRow](ts-container-gridrow.md)。 | 19 20## 示例 21 22设置不同设备类型的宽度,以及单独设置组件的span和offset,在sm尺寸大小的设备上使用useSizeType中sm的数据实现一样的效果。 23 24<!--code_no_check--> 25 26```ts 27// xxx.ets 28@Entry 29@Component 30struct GridContainerExample1 { 31 build() { 32 Column() { 33 Text('useSizeType').fontSize(15).fontColor(0xCCCCCC).width('90%') 34 GridContainer() { 35 Row() { 36 Row() { 37 Text('Left').fontSize(25) 38 } 39 .useSizeType({ 40 xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 }, 41 md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 } 42 }) 43 .height("100%") 44 .backgroundColor(0x66bbb2cb) 45 46 Row() { 47 Text('Center').fontSize(25) 48 } 49 .useSizeType({ 50 xs: { span: 1, offset: 0 }, sm: { span: 2, offset: 1 }, 51 md: { span: 5, offset: 1 }, lg: { span: 7, offset: 2 } 52 }) 53 .height("100%") 54 .backgroundColor(0x66b6c5d1) 55 56 Row() { 57 Text('Right').fontSize(25) 58 } 59 .useSizeType({ 60 xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 3 }, 61 md: { span: 2, offset: 6 }, lg: { span: 3, offset: 9 } 62 }) 63 .height("100%") 64 .backgroundColor(0x66bbb2cb) 65 } 66 .height(200) 67 68 } 69 .backgroundColor(0xf1f3f5) 70 .margin({ top: 10 }) 71 72 // 单独设置组件的span和offset,在sm尺寸大小的设备上使用useSizeType中sm的数据实现一样的效果 73 Text('gridSpan,gridOffset').fontSize(15).fontColor(0xCCCCCC).width('90%') 74 GridContainer() { 75 Row() { 76 Row() { 77 Text('Left').fontSize(25) 78 } 79 .gridSpan(1) 80 .height("100%") 81 .backgroundColor(0x66bbb2cb) 82 83 Row() { 84 Text('Center').fontSize(25) 85 } 86 .gridSpan(2) 87 .gridOffset(1) 88 .height("100%") 89 .backgroundColor(0x66b6c5d1) 90 91 Row() { 92 Text('Right').fontSize(25) 93 } 94 .gridSpan(1) 95 .gridOffset(3) 96 .height("100%") 97 .backgroundColor(0x66bbb2cb) 98 }.height(200) 99 } 100 } 101 } 102} 103``` 104 105**图1** 设备宽度为SM 106 107 108 109**图2** 设备宽度为MD 110 111 112 113**图3** 设备宽度为LG 114 115 116 117**图4** 单独设置gridSpan和gridOffset在特定屏幕大小下的效果与useSizeType效果一致 118 119