• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  **说明:** 在引用资源类型时,注意其数据类型要与属性方法本身的类型一致,例如某个属性方法支持设置string | Resource,那么在使用Resource引用类型时,其数据类型也应当为string。
22
23## Length
24
25长度类型,用于描述尺寸单位。
26
27| 类型                    | 说明                                     |
28| --------------------- | -------------------------------------- |
29| string                | 需要显式指定像素单位,如'10px',也可设置百分比字符串,如'100%'。 |
30| number                | 默认单位vp。                                |
31| [Resource](#resource) | 资源引用类型,引入系统资源或者应用资源中的尺寸。               |
32
33## ResourceStr
34
35字符串类型,用于描述字符串入参可以使用的类型。
36
37| 类型                    | 说明                        |
38| --------------------- | ------------------------- |
39| string                | 字符串类型。                    |
40| [Resource](#resource) | 资源引用类型,引入系统资源或者应用资源中的字符串。 |
41
42## Padding
43
44内边距类型,用于描述组件不同方向的内边距。
45
46| 名称     | 类型                | 必填   | 说明                   |
47| ------ | ----------------- | ---- | -------------------- |
48| top    | [Length](#length) | 否    | 上内边距,组件内元素距组件顶部的尺寸。  |
49| right  | [Length](#length) | 否    | 右内边距,组件内元素距组件右边界的尺寸。 |
50| bottom | [Length](#length) | 否    | 下内边距,组件内元素距组件底部的尺寸。  |
51| left   | [Length](#length) | 否    | 左内边距,组件内元素距组件左边界的尺寸。 |
52
53## Margin
54
55外边距类型,用于描述组件不同方向的外边距。
56
57| 名称     | 类型                | 必填   | 说明                   |
58| ------ | ----------------- | ---- | -------------------- |
59| top    | [Length](#length) | 否    | 上外边距,组件顶部距组件外元素的尺寸。  |
60| right  | [Length](#length) | 否    | 右外边距,组件右边界距组件外元素的尺寸。 |
61| bottom | [Length](#length) | 否    | 下外边距,组件底部距组件外元素的尺寸。  |
62| left   | [Length](#length) | 否    | 坐外边距,组件左边界距组件外元素的尺寸。 |
63
64## EdgeWidths<sup>9+</sup>
65
66边框宽度类型,用于描述组件边框不同方向的宽度。
67
68| 名称     | 类型                | 必填   | 说明       |
69| ------ | ----------------- | ---- | -------- |
70| top    | [Length](#length) | 否    | 组件上边框宽度。 |
71| right  | [Length](#length) | 否    | 组件右边框宽度。 |
72| bottom | [Length](#length) | 否    | 组件下边框宽度。 |
73| left   | [Length](#length) | 否    | 组件左边框宽度。 |
74
75## BorderRadiuses<sup>9+</sup>
76
77圆角类型,用于描述组件边框圆角半径。
78
79| 名称          | 类型                | 必填   | 说明         |
80| ----------- | ----------------- | ---- | ---------- |
81| topLeft     | [Length](#length) | 否    | 组件左上角圆角半径。 |
82| topRight    | [Length](#length) | 否    | 组件右上角圆角半径。 |
83| bottomLeft  | [Length](#length) | 否    | 组件左下角圆角半径。 |
84| bottomRight | [Length](#length) | 否    | 组件右下角圆角半径。 |
85
86## EdgeColors<sup>9+</sup>
87
88边框颜色,用于描述组件边框四条边的颜色。
89
90| 名称     | 类型                              | 必填   | 说明       |
91| ------ | ------------------------------- | ---- | -------- |
92| top    | [ResourceColor](#resourcecolor) | 否    | 组件上边框颜色。 |
93| right  | [ResourceColor](#resourcecolor) | 否    | 组件右边框颜色。 |
94| bottom | [ResourceColor](#resourcecolor) | 否    | 组件下边框颜色。 |
95| left   | [ResourceColor](#resourcecolor) | 否    | 组件左边框颜色。 |
96
97## EdgeStyles<sup>9+</sup>
98
99边框样式,用于描述组件边框四条边的样式。
100
101| 名称     | 类型                                       | 必填   | 说明       |
102| ------ | ---------------------------------------- | ---- | -------- |
103| top    | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件上边框样式。 |
104| right  | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件右边框样式。 |
105| bottom | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件下边框样式。 |
106| left   | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件左边框样式。 |
107
108
109## Offset
110
111相对布局完成位置坐标偏移量。
112
113| 名称   | 类型                | 必填   | 说明       |
114| ---- | ----------------- | ---- | -------- |
115| dx   | [Length](#length) | 是    | 水平方向偏移量。 |
116| dy   | [Length](#length) | 是    | 竖直方向偏移量。 |
117
118## ResourceColor
119
120颜色类型,用于描述资源颜色类型。
121
122| 类型                                  | 说明                          |
123| ----------------------------------- | --------------------------- |
124| [Color](ts-appendix-enums.md#color) | 颜色枚举值。                      |
125| number                              | HEX格式颜色,支持rgb。示例:0xffffff。              |
126| string                              | rgb或者rgba格式颜色。示例:'#ffffff', '#ff000000', 'rgb(255, 100, 255)', 'rgba(255, 100, 255, 0.5)'。              |
127| [Resource](#resource)               | 使用引入资源的方式,引入系统资源或者应用资源中的颜色。 |
128
129## LengthConstrain
130
131长度约束,用于对组件最大、最小长度做限制。
132
133| 名称        | 类型                | 必填   | 说明      |
134| --------- | ----------------- | ---- | ------- |
135| minLength | [Length](#length) | 是    | 组件最小长度。 |
136| maxLength | [Length](#length) | 是    | 组件最大长度。 |
137
138
139## Font
140
141设置文本样式。
142
143| 名称     | 类型                                       | 必填   | 说明                                       |
144| ------ | ---------------------------------------- | ---- | ---------------------------------------- |
145| size   | [Length](#length)                        | 否    | 设置文本尺寸,Length为number类型时,使用fp单位。不支持设置百分比字符串。 |
146| weight | [FontWeight](ts-appendix-enums.md#fontweight) \| number \| string | 否    | 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。 |
147| family | string \| [Resource](#resource)          | 否    | 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, sans-serif'。当前只支持'sans-serif'字体。 |
148| style  | [FontStyle](ts-appendix-enums.md#fontstyle) | 否    | 设置文本的字体样式。                               |
149
150## Area<sup>8+</sup>
151
152区域类型,用于存储元素所占区域信息
153
154| 名称             | 类型                     | 说明                             |
155| -------------- | ---------------------- | ------------------------------ |
156| width          | [Length](#length)      | 目标元素的宽度,作为返回值时,类型为number,单位vp。 |
157| height         | [Length](#length)      | 目标元素的高度,作为返回值时,类型为number,单位vp。 |
158| position       | [Position](#position8) | 目标元素左上角相对父元素左上角的位置。            |
159| globalPosition | [Position](#position8) | 目标元素左上角相对页面左上角的位置。             |
160
161## Position<sup>8+</sup>
162
163位置类型,用于表示一个坐标点。
164
165| 名称   | 类型                | 必填   | 说明                          |
166| ---- | ----------------- | ---- | --------------------------- |
167| x    | [Length](#length) | 否    | x轴坐标,作为返回值时,类型为number,单位vp。 |
168| y    | [Length](#length) | 否    | y轴坐标,作为返回值时,类型为number,单位vp。 |
169
170## ConstraintSizeOptions
171
172设置约束尺寸,组件布局时,进行尺寸范围限制。
173
174| 名称        | 类型                | 必填   | 说明      |
175| --------- | ----------------- | ---- | ------- |
176| minWidth  | [Length](#length) | 否    | 元素最小宽度。 |
177| maxWidth  | [Length](#length) | 否    | 元素最大宽度。 |
178| minHeight | [Length](#length) | 否    | 元素最小高度。 |
179| maxHeight | [Length](#length) | 否    | 元素最大高度。 |
180
181## SizeOptions
182
183设置宽高尺寸。
184
185| 名称     | 类型                | 必填   | 说明    |
186| ------ | ----------------- | ---- | ----- |
187| width  | [Length](#length) | 否    | 元素宽度。 |
188| height | [Length](#length) | 否    | 元素高度。 |
189
190
191## BorderOptions
192
193边框属性集合,用于描述边框相关信息。
194
195| 名称     | 类型                                       | 必填   | 说明      |
196| ------ | ---------------------------------------- | ---- | ------- |
197| width  | [Length](#length)  \| [EdgeWidths](#edgewidths9)<sup>9+</sup> | 否    | 边框宽度。   |
198| color  | [ResourceColor](#resourcecolor) \| [EdgeColors](#edgecolors9)<sup>9+</sup> | 否    | 边框颜色。   |
199| radius | [Length](#length) \| [BorderRadiuses](#borderradiuses9)<sup>9+</sup> | 否    | 边框圆角半径。 |
200| style  | [BorderStyle](ts-appendix-enums.md#borderstyle)  \| EdgeStyles<sup>9+</sup> | 否    | 边框样式。   |
201
202## ColorFilter<sup>9+</sup>
203
204创建具有4*5矩阵的颜色过滤器。
205
206| 名称          | 类型       | 必填   | 描述                                       |
207| ----------- | -------- | ---- | ---------------------------------------- |
208| constructor | number[] | 是    | 创建具有4\*5矩阵的颜色过滤器, 入参为[m\*n]位于m行和n列中矩阵值,每个值的有效范围是[0, 1], 矩阵是行优先的。 |
209
210
211## CustomBuilder<sup>8+</sup>
212
213组件属性方法参数可使用CustomBuilder类型来自定义UI描述。
214
215| 名称            | 类型定义                   | 描述                                       |
216| ------------- | ---------------------- | ---------------------------------------- |
217| CustomBuilder | ()&nbsp;=&gt;&nbsp;any | 该方法类型必须使用@Builder装饰器修饰。具体用法见[@Builder](../../quick-start/arkts-builder.md)。 |
218
219