OneScript

Grid

将子视图排列为二维网格。

Grid 使用所有子视图共同计算行高和列宽,适合需要精确对齐的二维布局。

import {
  Divider, Grid, GridRow, Modifier, Text,
} from "onescript/views"

<Grid
  alignment="leading"
  horizontalSpacing={12}
  verticalSpacing={8}
>
  <GridRow>
    <Text modifier={Modifier.gridColumnAlignment("trailing")}>名称</Text>
    <Text>OneScript</Text>
  </GridRow>
  <Divider modifier={Modifier.gridCellUnsizedAxes("horizontal")} />
  <GridRow>
    <Text>平台</Text>
    <Text>iOS</Text>
  </GridRow>
</Grid>

直接放在 Grid 下的视图会占据整行。每个 GridRow 的直接子视图对应一个单元格。

PropType说明
alignmentAlignment单元格默认对齐方式,默认 "center"。
horizontalSpacingnumber单元格水平间距(pt);省略时使用系统间距。
verticalSpacingnumber单元格垂直间距(pt);省略时使用系统间距。
children视图或视图数组网格行以及占据整行的直接子视图。

GridRow

GridRow 定义 Grid 中的一行。它的每个直接子视图按照列顺序占据一个网格单元格。

PropType说明
alignment"top" | "center" | "bottom"当前行的垂直对齐;省略时继承 Grid 的垂直对齐。
children视图或视图数组按照列顺序排列的单元格。

Grid 专用修饰符

以下修饰符在被修饰的视图参与 Grid 布局时生效。

gridCellColumns

gridCellColumns(count) 指定当前视图在 GridRow 中占据的列数。count 必须是正整数。

import { Grid, GridRow, Modifier, Text } from "onescript/views"

<Grid>
  <GridRow>
    <Text modifier={Modifier.gridCellColumns(2)}>横跨两列</Text>
  </GridRow>
</Grid>

gridCellAnchor

gridCellAnchor(anchor) 使用 UnitPoint 设置当前单元格的对齐锚点。

import { Grid, GridRow, Modifier, Text, UnitPoint } from "onescript/views"

<Grid>
  <GridRow>
    <Text modifier={Modifier.gridCellAnchor(UnitPoint.bottomTrailing)}>内容</Text>
  </GridRow>
</Grid>

gridCellUnsizedAxes

gridCellUnsizedAxes(axes) 阻止 Grid 在指定轴上向当前视图提供额外尺寸。axes 支持 "horizontal"、"vertical" 和 "all"。

import { Divider, Grid, GridRow, Modifier, Text } from "onescript/views"

<Grid>
  <GridRow><Text>A</Text><Text>B</Text></GridRow>
  <Divider modifier={Modifier.gridCellUnsizedAxes("horizontal")} />
</Grid>

gridColumnAlignment

gridColumnAlignment(alignment) 设置当前单元格所在列的水平对齐。每一列只需在一个单元格上声明该修饰符。

import { Grid, GridRow, Modifier, Text } from "onescript/views"

<Grid>
  <GridRow>
    <Text modifier={Modifier.gridColumnAlignment("trailing")}>名称</Text>
    <Text>OneScript</Text>
  </GridRow>
</Grid>

How is this guide?

最后更新于

本页目录