• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 类型定义
2
3>**说明:**
4>
5>本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7## Resource
8
9资源引用类型,用于设置组件属性的值。
10
11可以通过`$r`或者`$rawfile`创建Resource类型对象,不可以修改Resource中的各属性的值。
12
13- `$r('belonging.type.name')`
14
15  belonging:系统资源或者应用资源,相应的取值为'sys'和'app';
16
17  type:资源类型,支持'boolean'、'color'、'float'、'intarray'、'integer'、'pattern'、'plural'、'strarray'、'string'、'media';
18
19  name:资源名称,在资源定义时确定。
20
21- `$rawfile('filename')`
22
23  filename:工程中resources/rawfile目录下的文件名称。
24
25  **说明:** 在引用资源类型时,注意其数据类型要与属性方法本身的类型一致,例如某个属性方法支持设置string | Resource,那么在使用Resource引用类型时,其数据类型也应当为string。
26
27## Length
28
29长度类型,用于描述尺寸单位。
30
31| 类型                    | 说明                                     |
32| --------------------- | -------------------------------------- |
33| string                | 需要显式指定像素单位,如'10px',也可设置百分比字符串,如'100%'。 |
34| number                | 默认单位vp。                                |
35| [Resource](#resource) | 资源引用类型,引入系统资源或者应用资源中的尺寸。               |
36
37## ResourceStr
38
39字符串类型,用于描述字符串入参可以使用的类型。
40
41| 类型                    | 说明                        |
42| --------------------- | ------------------------- |
43| string                | 字符串类型。                    |
44| [Resource](#resource) | 资源引用类型,引入系统资源或者应用资源中的字符串。 |
45
46## Padding
47
48内边距类型,用于描述组件不同方向的内边距。
49
50| 名称     | 类型                | 必填   | 说明                   |
51| ------ | ----------------- | ---- | -------------------- |
52| top    | [Length](#length) | 否    | 上内边距,组件内元素距组件顶部的尺寸。  |
53| right  | [Length](#length) | 否    | 右内边距,组件内元素距组件右边界的尺寸。 |
54| bottom | [Length](#length) | 否    | 下内边距,组件内元素距组件底部的尺寸。  |
55| left   | [Length](#length) | 否    | 左内边距,组件内元素距组件左边界的尺寸。 |
56
57## Margin
58
59外边距类型,用于描述组件不同方向的外边距。
60
61| 名称     | 类型                | 必填   | 说明                   |
62| ------ | ----------------- | ---- | -------------------- |
63| top    | [Length](#length) | 否    | 上外边距,组件顶部距组件外元素的尺寸。  |
64| right  | [Length](#length) | 否    | 右外边距,组件右边界距组件外元素的尺寸。 |
65| bottom | [Length](#length) | 否    | 下外边距,组件底部距组件外元素的尺寸。  |
66| left   | [Length](#length) | 否    | 左外边距,组件左边界距组件外元素的尺寸。 |
67
68## EdgeWidths<sup>9+</sup>
69
70边框宽度类型,用于描述组件边框不同方向的宽度。
71
72| 名称     | 类型                | 必填   | 说明       |
73| ------ | ----------------- | ---- | -------- |
74| top    | [Length](#length) | 否    | 组件上边框宽度。 |
75| right  | [Length](#length) | 否    | 组件右边框宽度。 |
76| bottom | [Length](#length) | 否    | 组件下边框宽度。 |
77| left   | [Length](#length) | 否    | 组件左边框宽度。 |
78
79## BorderRadiuses<sup>9+</sup>
80
81圆角类型,用于描述组件边框圆角半径。
82
83| 名称          | 类型                | 必填   | 说明         |
84| ----------- | ----------------- | ---- | ---------- |
85| topLeft     | [Length](#length) | 否    | 组件左上角圆角半径。 |
86| topRight    | [Length](#length) | 否    | 组件右上角圆角半径。 |
87| bottomLeft  | [Length](#length) | 否    | 组件左下角圆角半径。 |
88| bottomRight | [Length](#length) | 否    | 组件右下角圆角半径。 |
89
90## EdgeColors<sup>9+</sup>
91
92边框颜色,用于描述组件边框四条边的颜色。
93
94| 名称     | 类型                              | 必填   | 说明       |
95| ------ | ------------------------------- | ---- | -------- |
96| top    | [ResourceColor](#resourcecolor) | 否    | 组件上边框颜色。 |
97| right  | [ResourceColor](#resourcecolor) | 否    | 组件右边框颜色。 |
98| bottom | [ResourceColor](#resourcecolor) | 否    | 组件下边框颜色。 |
99| left   | [ResourceColor](#resourcecolor) | 否    | 组件左边框颜色。 |
100
101## EdgeStyles<sup>9+</sup>
102
103边框样式,用于描述组件边框四条边的样式。
104
105| 名称     | 类型                                       | 必填   | 说明       |
106| ------ | ---------------------------------------- | ---- | -------- |
107| top    | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件上边框样式。 |
108| right  | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件右边框样式。 |
109| bottom | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件下边框样式。 |
110| left   | [BorderStyle](ts-appendix-enums.md#borderstyle) | 否    | 组件左边框样式。 |
111
112
113## Offset
114
115相对布局完成位置坐标偏移量。
116
117| 名称   | 类型                | 必填   | 说明       |
118| ---- | ----------------- | ---- | -------- |
119| dx   | [Length](#length) | 是    | 水平方向偏移量。 |
120| dy   | [Length](#length) | 是    | 竖直方向偏移量。 |
121
122## ResourceColor
123
124颜色类型,用于描述资源颜色类型。
125
126| 类型                                  | 说明                                       |
127| ----------------------------------- | ---------------------------------------- |
128| [Color](ts-appendix-enums.md#color) | 颜色枚举值。                                   |
129| number                              | HEX格式颜色,支持rgb。示例:0xffffff。               |
130| string                              | rgb或者argb格式颜色。示例:'#ffffff', '#ff000000', 'rgb(255, 100, 255)', 'rgba(255, 100, 255, 0.5)'。 |
131| [Resource](#resource)               | 使用引入资源的方式,引入系统资源或者应用资源中的颜色。              |
132
133## ColoringStrategy
134
135智能取色枚举类型,用于设置前景色。
136
137| 名称     | 描述              |
138| ------ | --------------- |
139| INVERT | 设置前景色为控件背景色的反色。 |
140
141## LengthConstrain
142
143长度约束,用于对组件最大、最小长度做限制。
144
145| 名称        | 类型                | 必填   | 说明      |
146| --------- | ----------------- | ---- | ------- |
147| minLength | [Length](#length) | 是    | 组件最小长度。 |
148| maxLength | [Length](#length) | 是    | 组件最大长度。 |
149
150
151## Font
152
153设置文本样式。
154
155| 名称     | 类型                                       | 必填   | 说明                                       |
156| ------ | ---------------------------------------- | ---- | ---------------------------------------- |
157| size   | [Length](#length)                        | 否    | 设置文本尺寸,Length为number类型时,使用fp单位。不支持设置百分比字符串。<br>默认值:16.0  |
158| weight | [FontWeight](ts-appendix-enums.md#fontweight) \| number \| string | 否    | 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,取值越大,字体越粗。<br>默认值:400 \| FontWeight.Normal |
159| family | string \| [Resource](#resource)          | 否    | 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, HarmonyOS Sans'。当前支持'HarmonyOS Sans'字体和[注册自定义字体](../apis/js-apis-font.md)。 |
160| style  | [FontStyle](ts-appendix-enums.md#fontstyle) | 否    | 设置文本的字体样式。<br>默认值:FontStyle.Normal                               |
161
162## Area<sup>8+</sup>
163
164区域类型,用于存储元素所占区域信息
165
166| 名称             | 类型                     | 说明                             |
167| -------------- | ---------------------- | ------------------------------ |
168| width          | [Length](#length)      | 目标元素的宽度,作为返回值时,类型为number,单位vp。 |
169| height         | [Length](#length)      | 目标元素的高度,作为返回值时,类型为number,单位vp。 |
170| position       | [Position](#position8) | 目标元素左上角相对父元素左上角的位置。            |
171| globalPosition | [Position](#position8) | 目标元素左上角相对页面左上角的位置。             |
172
173## Position<sup>8+</sup>
174
175位置类型,用于表示一个坐标点。
176
177| 名称   | 类型                | 必填   | 说明                          |
178| ---- | ----------------- | ---- | --------------------------- |
179| x    | [Length](#length) | 否    | x轴坐标,作为返回值时,类型为number,单位vp。 |
180| y    | [Length](#length) | 否    | y轴坐标,作为返回值时,类型为number,单位vp。 |
181
182## ConstraintSizeOptions
183
184设置约束尺寸,组件布局时,进行尺寸范围限制。
185
186| 名称        | 类型                | 必填   | 说明      |
187| --------- | ----------------- | ---- | ------- |
188| minWidth  | [Length](#length) | 否    | 元素最小宽度。 |
189| maxWidth  | [Length](#length) | 否    | 元素最大宽度。 |
190| minHeight | [Length](#length) | 否    | 元素最小高度。 |
191| maxHeight | [Length](#length) | 否    | 元素最大高度。 |
192
193## SizeOptions
194
195设置宽高尺寸。
196
197| 名称     | 类型                | 必填   | 说明    |
198| ------ | ----------------- | ---- | ----- |
199| width  | [Length](#length) | 否    | 元素宽度。 |
200| height | [Length](#length) | 否    | 元素高度。 |
201
202
203## BorderOptions
204
205边框属性集合,用于描述边框相关信息。
206
207| 名称     | 类型                                       | 必填   | 说明      |
208| ------ | ---------------------------------------- | ---- | ------- |
209| width  | [Length](#length)  \| [EdgeWidths](#edgewidths9)<sup>9+</sup> | 否    | 边框宽度。   |
210| color  | [ResourceColor](#resourcecolor) \| [EdgeColors](#edgecolors9)<sup>9+</sup> | 否    | 边框颜色。   |
211| radius | [Length](#length) \| [BorderRadiuses](#borderradiuses9)<sup>9+</sup> | 否    | 边框圆角半径。 |
212| style  | [BorderStyle](ts-appendix-enums.md#borderstyle)  \| EdgeStyles<sup>9+</sup> | 否    | 边框样式。   |
213
214## ColorFilter<sup>9+</sup>
215
216创建具有4*5矩阵的颜色过滤器。
217
218| 名称          | 类型       | 必填   | 描述                                       |
219| ----------- | -------- | ---- | ---------------------------------------- |
220| constructor | number[] | 是    | 创建具有4\*5矩阵的颜色过滤器, 入参为[m\*n]位于m行和n列中矩阵值, 每个值的有效范围是[0, 1], 矩阵是行优先的。 |
221
222
223## CustomBuilder<sup>8+</sup>
224
225组件属性方法参数可使用CustomBuilder类型来自定义UI描述。
226
227| 名称            | 类型定义                   | 描述                                       |
228| ------------- | ---------------------- | ---------------------------------------- |
229| CustomBuilder | ()&nbsp;=&gt;&nbsp;any | 生成用户自定义组件,在使用时结合@Builder使用。具体用法见[@Builder](../../quick-start/arkts-builder.md#builder)。 |
230
231## PixelStretchEffectOptions<sup>10+</sup>
232
233像素扩展属性集合,用于描述像素扩展的信息。
234
235| 名称     | 类型                | 必填   | 说明             |
236| ------ | ----------------- | ---- | -------------- |
237| left   | [Length](#length) | 否    | 组件图像左边沿扩展距离。   |
238| right  | [Length](#length) | 否    | 组件图像右边沿像素扩展距离。 |
239| top    | [Length](#length) | 否    | 组件图像上边沿像素扩展距离。 |
240| bottom | [Length](#length) | 否    | 组件图像下边沿像素扩展距离。 |
241
242## ModalTransition<sup>10+</sup>
243
244全屏模态转场方式枚举类型,用于设置全屏模态转场类型。
245
246| 名称      | 描述           |
247| ------- | ------------ |
248| NONE    | 全屏模态无转场动画。   |
249| DEFAULT | 全屏模态上下切换动画。  |
250| ALPHA   | 全屏模态透明度渐变动画。 |
251
252## Dimension<sup>10+</sup>
253
254长度类型,用于描述尺寸单位。
255
256| 类型                    | 说明                                     |
257| --------------------- | -------------------------------------- |
258| [PX](#px10)               | 需要指定以px像素单位,如'10px'。 |
259| [VP](#vp10)                | 需要指定数字或vp像素单位,如10或'10vp'。 |
260| [FP](#fp10)                | 需要指定以fp像素单位,如'10fp'。|
261| [LPX](#lpx10)              | 需要指定以lpx像素单位,如'10lpx'。|
262| [Percentage](#percentage10)        | 需要指定以%像素单位,如'10%'。|
263| [Resource](#resource) | 资源引用类型,引入系统资源或者应用资源中的尺寸。|
264
265## PX<sup>10+</sup>
266
267长度类型,用于描述以px像素单位为单位的长度。
268
269| 类型                    | 说明                                     |
270| --------------------- | -------------------------------------- |
271| {number}px               | 需要指定以px像素单位,如'10px'。 |
272
273## VP<sup>10+</sup>
274
275长度类型,用于描述以vp像素单位为单位的长度。
276
277| 类型                    | 说明                                     |
278| --------------------- | -------------------------------------- |
279| {number}vp\|number | 需要指定数字或vp像素单位,如10或'10vp'。 |
280
281## FP<sup>10+</sup>
282
283长度类型,用于描述以fp像素单位为单位的长度。
284
285| 类型                    | 说明                                     |
286| --------------------- | -------------------------------------- |
287| {number}fp               | 需要指定以fp像素单位,如'10fp'。 |
288
289## LPX<sup>10+</sup>
290
291长度类型,用于描述以lpx像素单位为单位的长度。
292
293| 类型                    | 说明                                     |
294| --------------------- | -------------------------------------- |
295| {number}lpx               | 需要指定以lpx像素单位,如'10lpx'。 |
296
297## Percentage<sup>10+</sup>
298
299长度类型,用于描述以%像素单位为单位的长度。
300
301| 类型                    | 说明                                     |
302| --------------------- | -------------------------------------- |
303| {number}%               | 需要指定以%像素单位,如'10%'。 |
304
305## Degree<sup>10+</sup>
306
307角度类型,用于描述以deg像素单位为单位的长度。
308
309| 类型                    | 说明                                     |
310| --------------------- | -------------------------------------- |
311| {number}deg               | 需要指定以deg像素单位,如'10deg'。 |
312
313## SwiperAnimationEvent<sup>10+</sup>
314
315Swiper组件动画相关信息集合。
316
317| 名称            | 类型定义                   | 描述                                       |
318| ------------- | ---------------------- | ---------------------------------------- |
319| currentOffset | number | Swiper当前显示元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.|
320| targetOffset | number | Swiper动画目标元素在主轴方向上,相对于Swiper起始位置的位移。单位VP,默认值为0.|
321| velocity | number | Swiper离手动画开始时的离手速度。单位VP/S,默认值为0.|
322## SafeAreaType<sup>10+</sup>
323
324扩展安全区域的枚举类型。
325
326| 名称     | 描述                                       |
327| -------- | ------------------------------------------ |
328| SYSTEM   | 系统默认非安全区域,包括状态栏、导航栏。   |
329| CUTOUT   | 设备的非安全区域,例如刘海屏或挖孔屏区域。 |
330| KEYBOARD | 软键盘区域。                               |
331
332## SafeAreaEdge<sup>10+</sup>
333
334扩展安全区域的方向。
335
336| 名称   | 描述       |
337| ------ | ---------- |
338| TOP    | 上方区域。 |
339| BOTTOM | 下方区域。 |
340| START  | 前部区域。 |
341| END    | 尾部区域。 |
342