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 | () => 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