1# 类型定义 2 3## Resource 4 5资源引用类型,用于设置组件属性的值。 6 7可以通过`$r`或者`$rawfile`创建Resource类型对象,不可以修改Resource中的各属性的值。 8 9- `$r('belonging.type.name')` 10 11 belonging:系统资源或者应用资源,相应的取值为'sys'和'app'; 12 13 type:资源类型,支持'color'、'float'、'string'、'media'等; 14 15 name:资源名称,在资源定义时确定。 16 17- `$rawfile('filename')` 18 19 filename:工程中resources/rawfile目录下的文件名称。 20 21## Length 22 23长度类型,用于描述尺寸单位。 24 25| 类型 | 说明 | 26| -------- | ------------------------------------------------------------ | 27| string | 需要显式指定像素单位,如'10px',也可设置百分比字符串,如'100%'。 | 28| number | 默认单位vp。 | 29| [Resource](#resource) | 使用引入资源的方式,引入系统资源或者应用资源中的尺寸。 | 30 31## ResourceStr<sup>8+</sup> 32 33字符串类型,用于描述字符串入参可以使用的类型。 34 35| 类型 | 说明 | 36| -------- | --------------------------------------------------- | 37| string | 字符串类型。 | 38| [Resource](#resource) | 使用引入资源的方式,引入系统资源或者应用资源中的字符串。 | 39 40## Padding 41 42内边距类型,用于描述组件不同方向的内边距。 43 44 | 名称 | 类型 | 必填 | 说明 | 45 | ------- | ------ | ---- |------------------------ | 46 | top | [Length](#length) | 否 | 组件内元素距组件顶部的尺寸。 | 47 | right | [Length](#length) | 否 | 组件内元素距组件右边界的尺寸。 | 48 | bottom | [Length](#length) | 否 | 组件内元素距组件底部的尺寸。 | 49 | left | [Length](#length) | 否 | 组件内元素距组件左边界的尺寸。 | 50 51## Margin 52 53外边距类型,用于描述组件不同方向的外边距。 54 55 | 名称 | 类型 | 必填 | 说明 | 56 | ------- | ------ | ---- |------------------------ | 57 | top | [Length](#length) | 否 | 组件外元素距组件顶部的尺寸。 | 58 | right | [Length](#length) | 否 | 组件外元素距组件右边界的尺寸。 | 59 | bottom | [Length](#length) | 否 | 组件外元素距组件底部的尺寸。 | 60 | left | [Length](#length) | 否 | 组件外元素距组件左边界的尺寸。 | 61 62## Offset 63 64相对布局完成位置坐标偏移量。 65 66 | 名称 | 类型 | 必填 | 说明 | 67 | -------- | ------ | ---- |--------------------- | 68 | dx | [Length](#length) | 是 | 水平方向偏移量。 | 69 | dy | [Length](#length) | 是 | 竖直方向偏移量。 | 70 71## ResourceColor<sup>8+</sup> 72 73颜色类型,用于描述资源颜色类型。 74 75| 类型 | 说明 | 76| -------- | ----------------------- | 77| [Color](ts-appendix-enums.md#color) | 颜色枚举值。 | 78| number | HEX格式颜色。 | 79| string | rgb或者rgba格式颜色。 | 80| [Resource](#resource) | 使用引入资源的方式,引入系统资源或者应用资源中的颜色。 | 81 82## Font 83 84设置文本样式。 85 86| 名称 | 类型 | 必填 | 说明 | 87| ------ | ------------------------------ | ---- | ------------------------------------------------------------ | 88| size | [Length](#length) | 否 | 设置文本尺寸,Length为number类型时,使用fp单位。 | 89| weight | [FontWeight](ts-appendix-enums.md#fontweight) \| number \| string | 否 | 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。 | 90| family | string \| [Resource](#resource) | 否 | 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, sans-serif'。 | 91| style | [FontStyle](ts-appendix-enums.md#fontstyle) | 否 | 设置文本的字体样式。 | 92 93## Area<sup>8+</sup> 94 95区域类型,用于存储元素所占区域信息 96 97| 名称 | 类型 | 必填 | 说明 | 98| -------------- | -------- | ----- |------------------------------------------------- | 99| width | [Length](#length) | 是 |目标元素的宽度,作为返回值时,类型为number,单位vp。 | 100| height | [Length](#length) | 是 |目标元素的高度,作为返回值时,类型为number,单位vp。 | 101| position | [Position](#position8) | 是 |目标元素左上角相对父元素左上角的位置。 | 102| globalPosition | [Position](#position8) | 是 |目标元素左上角相对页面左上角的位置。 | 103 104 105## Position<sup>8+</sup> 106 107位置类型,用于表示一个坐标点。 108 109| 名称 | 类型 | 必填 | 说明 | 110| ----- | ------- | ---- | ------------------------------------------- | 111| x | [Length](#length) | 否 | x轴坐标,作为返回值时,类型为number,单位vp。 | 112| y | [Length](#length) | 否 | y轴坐标,作为返回值时,类型为number,单位vp。 | 113 114## ConstraintSizeOptions 115 116设置约束尺寸,组件布局时,进行尺寸范围限制。 117 118| 名称 | 类型 | 必填 | 说明 | 119| --------- | -------- | ---- | -------------- | 120| minWidth | [Length](#length) | 否 | 元素最小宽度。 | 121| maxWidth | [Length](#length) | 否 | 元素最大宽度。 | 122| minHeight | [Length](#length) | 否 | 元素最小高度。 | 123| maxHeight | [Length](#length) | 否 | 元素最大高度。 | 124 125## SizeOptions 126 127设置宽高尺寸。 128 129| 名称 | 类型 | 必填 | 说明 | 130| ------- | -------- | ---- | -------------- | 131| width | [Length](#length) | 否 | 元素宽度。 | 132| height | [Length](#length) | 否 | 元素高度。 | 133 134 135## BorderOptions 136 137边框属性集合,用于描述边框相关信息。 138 139| 名称 | 类型 | 必填 | 说明 | 140| ------ | ------------- | ---- | ----------- | 141| width | [Length](#length) | 否 | 边框宽度。 | 142| color | [ResourceColor](#resourcecolor8) | 否 | 边框颜色。 | 143| radius | [Length](#length) | 否 | 边框圆角半径。 | 144| style | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否 | 边框样式。 | 145 146## CustomBuilder<sup>8+</sup> 147 148组件属性方法参数可使用CustomBuilder类型来自定义UI描述。 149 150| 名称 | 类型定义 | 描述 | 151| ------------- | ---------------------- | ------------------------------------------------------------ | 152| CustomBuilder | () => any | 这种方法类型必须使用@Builder装饰器修饰。具体用法见[@Builder](../../ui/ts-component-based-builder.md)。 | 153 154