From 5a2d2aa04bda97468599e673ab83c2487971c91b Mon Sep 17 00:00:00 2001 From: gmy Date: Thu, 1 Sep 2022 16:57:14 +0800 Subject: [PATCH] update docs Signed-off-by: gmy --- .../arkui-js/js-components-basic-qrcode.md | 3 + .../figures/zh-cn_image_0000001118642902.png | Bin 0 -> 46139 bytes .../reference/arkui-ts/ts-animatorproperty.md | 34 +- .../reference/arkui-ts/ts-appendix-enums.md | 10 +- .../arkui-ts/ts-basic-components-blank.md | 31 +- .../arkui-ts/ts-basic-components-checkbox.md | 6 +- .../arkui-ts/ts-basic-components-divider.md | 26 +- .../arkui-ts/ts-basic-components-gauge.md | 47 +- .../arkui-ts/ts-basic-components-image.md | 38 +- .../ts-basic-components-navigation.md | 85 ++- .../ts-basic-components-patternlock.md | 34 +- .../ts-basic-components-plugincomponent.md | 149 ++--- .../arkui-ts/ts-basic-components-progress.md | 51 +- .../arkui-ts/ts-basic-components-qrcode.md | 25 +- .../arkui-ts/ts-basic-components-radio.md | 32 +- .../arkui-ts/ts-basic-components-search.md | 50 +- .../arkui-ts/ts-basic-components-textinput.md | 104 ++-- .../arkui-ts/ts-canvasrenderingcontext2d.md | 184 +++--- .../arkui-ts/ts-drawing-components-ellipse.md | 40 +- .../arkui-ts/ts-drawing-components-path.md | 32 +- .../arkui-ts/ts-matrix-transformation.md | 589 ++++++++++-------- .../ts-universal-attributes-z-order.md | 14 +- 22 files changed, 805 insertions(+), 779 deletions(-) create mode 100644 zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001118642902.png diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-basic-qrcode.md b/zh-cn/application-dev/reference/arkui-js/js-components-basic-qrcode.md index cf0d166c82..5b156b7bff 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-basic-qrcode.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-basic-qrcode.md @@ -58,6 +58,8 @@
+ Value + 123 Type Color @@ -94,6 +96,7 @@ select{ /* index.js */ export default { data: { + qr_value:'', qr_type: 'rect', qr_size: '300px', qr_col: '#87ceeb', diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001118642902.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001118642902.png new file mode 100644 index 0000000000000000000000000000000000000000..36eab44e87c075e01baa66bfc48a86ba703b7835 GIT binary patch literal 46139 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 Pf4wXI|GAC(H}`)4hL*1E literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md b/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md index 2372325ad9..d026aafb2b 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md @@ -1,26 +1,26 @@ # 属性动画 +组件的某些通用属性变化时,可以通过属性动画实现渐变效果,提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。 + > **说明:** > 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -组件的通用属性发生变化时,可以创建属性动画进行渐变,提升用户体验。 - -| 接口名称 | 功能描述 | -| ------------------------------ | ------------------------------------------------------------ | -| animation(value: AnimateParam) | 为组件添加动画属性,控制调用此属性的组件从一种状态到另一种状态的过渡效果。 | +animation(value: {duration?: number, tempo?: number, curve?: string | Curve | ICurve, delay?:number, iterations: number, playMode?: PlayMode, onFinish?: () => void}) -## AnimateParam对象说明 +为组件添加属性动画,实现组件属性状态变化时的过渡动画效果。 -- 属性 +**参数:** -| 名称 | 参数类型 | 默认值 | 描述 | -| ---------- | ---------------------------------------- | --------------- | ----------------------- | -| duration | number | 1000 | 单位为毫秒,默认动画时长为1000毫秒。 | -| curve | [Curve](ts-appendix-enums.md#curve) | Curve.Linear | 默认曲线为线性。 | -| delay | number | 0 | 单位为毫秒,默认不延时播放。 | -| iterations | number | 1 | 默认播放一次,设置为-1时表示无限次播放。 | -| playMode | [PlayMode](ts-appendix-enums.md#playmode) | PlayMode.Normal | 设置动画播放模式,默认播放完成后重头开始播放。 | +| 名称 | 参数类型 | 必填 | 描述 | +| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| duration | number | 否 | 设置动画时长。单位为毫秒,默认动画时长为1000毫秒。
默认值:1000 | +| tempo | number | 否 | 动画播放速度。数值越大,动画播放速度越快,数值越小,播放速度越慢
值为0时,表示不存在动画。
默认值:1 | +| curve | string \| [Curve](ts-appendix-enums.md#curve) \| ICurve9+ | 否 | 设置动画曲线。默认曲线为线性。
默认值:Curve.Linear | +| delay | number | 否 | 设置动画延迟执行的时长。单位为毫秒,默认不延时播放。
默认值:0 | +| iterations | number | 否 | 设置播放次数。默认播放一次,设置为-1时表示无限次播放。
默认值:1 | +| playMode | [PlayMode](ts-appendix-enums.md#playmode) | 否 | 设置动画播放模式,默认播放完成后重头开始播放。
默认值:PlayMode.Normal | +| onFinish | () => void | 否 | 状态回调,动画播放完成时触发。 | ## 示例 @@ -30,9 +30,9 @@ @Entry @Component struct AttrAnimationExample { - @State widthSize: number = 200 - @State heightSize: number = 100 - @State flag: boolean = true + @State widthSize: number = 200; + @State heightSize: number = 100; + @State flag: boolean = true; build() { Column() { diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md index 06e6e577f7..4e4a7386ad 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md @@ -100,10 +100,12 @@ ## FillMode -| 名称 | 描述 | -| -------- | -------------------------------- | -| None | 播放完成后恢复初始状态。 | -| Forwards | 播放完成后保持动画结束时的状态。 | +| 名称 | 描述 | +| --------- | ------------------------------------------------------------ | +| None | 动画未执行时不会将任何样式应用于目标,动画播放完成之后恢复初始默认状态。 | +| Forwards | 目标将保留动画执行期间最后一个关键帧的状态。 | +| Backwards | 动画将在应用于目标时立即应用第一个关键帧中定义的值,并在delay期间保留此值。第一个关键帧取决于playMode,playMode为Normal或Alternate时为from的状态,playMode为Reverse或AlternateReverse时为to的状态。 | +| Both | 动画将遵循Forwards和Backwards的规则,从而在两个方向上扩展动画属性。 | ## PlayMode diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md index 00e0be6eb0..3c96c392dd 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md @@ -1,15 +1,10 @@ # Blank -> **说明:** -> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column时生效。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -19,23 +14,21 @@ ## 接口 -Blank(min?: Length) +Blank(min?: number | string) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | min | [Length](../../ui/ts-types.md) | 否 | 0 | 空白填充组件在容器主轴上的最小大小。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| min | number \| string | 否 | 空白填充组件在容器主轴上的最小大小。
默认值:0 | ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| color | [ResourceColor](../../ui/ts-types.md) | 0xffffff | 设置空白填充的填充颜色。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: -> **说明:** -> -> - 不支持通用属性方法。 +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| color | [ResourceColor](../../ui/ts-types.md) | 设置空白填充的填充颜色。 | ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-checkbox.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-checkbox.md index b49d1b2d32..b6e9697ca6 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-checkbox.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-checkbox.md @@ -35,10 +35,10 @@ Checkbox( name?: string, group?: string ) ## 事件 -| 名称 | 功能描述 | +| 名称 | 功能描述 | | ----------| -------- | -|onChange(callback: (value: boolean) => void) | 当选中状态发生变化时,触发该回调。
- value为true时,表示已选中。
- value为false时,表示未选中。 | - +|onChange(callback: (value: boolean) => void) | 当选中状态发生变化时,触发该回调。
- value为true时,表示已选中。
- value为false时,表示未选中。 | + ## 示例 ```ts diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md index 6cd0eebd5a..51a10ae105 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md @@ -1,15 +1,10 @@ # Divider -> **说明:** -> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 提供分隔器组件,分隔不同内容块/内容元素。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -21,15 +16,16 @@ Divider() - ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| vertical | boolean | false | 使用水平分割线还是垂直分割线。false:水平分割线;true:垂直分割线。 | -| color | [ResourceColor](../../ui/ts-types.md) | - | 分割线颜色。 | -| strokeWidth | [Length](../../ui/ts-types.md) | 1 | 分割线宽度。 | -| lineCap | [LineCapStyle](ts-appendix-enums.md#linecapstyle) | LineCapStyle.Butt | 分割线的端点样式。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| vertical | boolean | 使用水平分割线还是垂直分割线。false:水平分割线;true:垂直分割线。
默认值:false | +| color | [ResourceColor](../../ui/ts-types.md) | 分割线颜色。 | +| strokeWidth | number \| string | 分割线宽度。
默认值:1 | +| lineCap | [LineCapStyle](ts-appendix-enums.md#linecapstyle) | 分割线的端点样式。
默认值:LineCapStyle.Butt | ## 事件 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md index 34e32fe07d..3d4888d065 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md @@ -1,16 +1,11 @@ # Gauge - -> **说明:** -> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 数据量规图表组件,用于将数据展示为环形图表。 -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -22,36 +17,38 @@ Gauge(options:{value: number, min?: number, max?: number}) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | value | number | 是 | - | 当前数据值。 | - | min | number | 否 | 0 | 当前数据段最小值。 | - | max | number | 否 | 100 | 当前数据段最大值。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| value | number | 是 | 当前数据值。 | +| min | number | 否 | 当前数据段最小值。
默认值:0 | +| max | number | 否 | 当前数据段最大值。
默认值:100 | ## 属性 - | 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| value | number | 0 | 设置当前数据图表的值。 | -| startAngle | number | -150 | 设置起始角度位置,时钟0点为0度,顺时针方向为正角度。 | -| endAngle | number | 150 | 设置终止角度位置,时钟0点为0度,顺时针方向为正角度。 | -| colors | Array<ColorStop> | - | 设置图表的颜色,支持分段颜色设置。 | -| strokeWidth | Length | - | 设置环形图表的环形厚度。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| value | number | 设置当前数据图表的值。
默认值:0 | +| startAngle | number | 设置起始角度位置,时钟0点为0度,顺时针方向为正角度。
默认值:-150 | +| endAngle | number | 设置终止角度位置,时钟0点为0度,顺时针方向为正角度。
默认值:150 | +| colors | Array<ColorStop> | 设置图表的颜色,支持分段颜色设置。 | +| strokeWidth | Length | 设置环形图表的环形厚度。 | ## ColorStop 颜色断点类型,用于描述渐进色颜色断点。 -| 名称 | 类型定义 | 描述 | -| --------- | -------------------- | ------------------------------------------------------------ | -| ColorStop | [ResourceColor](../../ui/ts-types.md#resourcecolor8), number] | 描述渐进色颜色断点类型,第一个参数为颜色值,第二个参数为0~1之间的比例值。 | +| 名称 | 类型定义 | 描述 | +| --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| ColorStop | [[ResourceColor](../../ui/ts-types.md#resourcecolor8), number] | 描述渐进色颜色断点类型,第一个参数为颜色值,第二个参数为0~1之间的比例值。 | ## 示例 - + ```ts // xxx.ets @Entry diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md index aa9037ff77..0979fca78a 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md @@ -3,6 +3,7 @@ 图片组件,支持本地图片和网络图片的渲染展示。 > **说明:** +> > 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 @@ -34,31 +35,32 @@ Image(src: string | PixelMap | Resource) **参数:** -| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | -| ---- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | -| src | string\| [PixelMap](../apis/js-apis-image.md#pixelmap7) \| [Resource](../../ui/ts-types.md#resource类型) | 是 | - | 图片的数据源,支持本地图片和网络图片。
当使用相对路径引用图片资源时,例如`Image("common/test.jpg")`,不支持该Image组件被跨包/跨模块调用,建议使用`$r`方式来管理需全局使用的图片资源。
\- 支持的图片格式包括png、jpg、bmp、svg和gif。
\- 支持`Base64`字符串。格式`data:image/[png\|jpeg\|bmp\|webp];base64,[base64 data]`, 其中`[base64 data]`为`Base64`字符串数据。
\- 支持`dataability://`路径前缀的字符串,用于访问通过data ability提供的图片路径。 | +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| src | string\| [PixelMap](../apis/js-apis-image.md#pixelmap7) \| [Resource](../../ui/ts-types.md#resource类型) | 是 | 图片的数据源,支持本地图片和网络图片。
当使用相对路径引用图片资源时,例如`Image("common/test.jpg")`,不支持跨包/跨模块调用该Image组件,建议使用`$r`方式来管理需全局使用的图片资源。
\- 支持的图片格式包括png、jpg、bmp、svg和gif。
\- 支持`Base64`字符串。格式`data:image/[png\|jpeg\|bmp\|webp];base64,[base64 data]`, 其中`[base64 data]`为`Base64`字符串数据。
\- 支持`dataability://`路径前缀的字符串,用于访问通过data ability提供的图片路径。 | ## 属性 除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: -| 名称 | 参数类型 | 默认值 | 描述 | -| --------------------- | ------------------------------------------------------- | ------------------------ | ------------------------------------------------------------ | -| alt | string \| [Resource](../../ui/ts-types.md#resource类型) | - | 加载时显示的占位图,支持本地图片和网络图片。 | -| objectFit | [ImageFit](ts-appendix-enums.md#imagefit) | ImageFit.Cover | 设置图片的缩放类型。 | -| objectRepeat | [ImageRepeat](ts-appendix-enums.md#imagerepeat) | NoRepeat | 设置图片的重复样式。
> **说明:**
> - svg类型图源不支持该属性。 | -| interpolation | [ImageInterpolation](#imageinterpolation) | ImageInterpolation.None | 设置图片的插值效果,即减轻低清晰度图片在放大显示的时候出现的锯齿问题,仅针对图片放大插值。
> **说明:**
> - svg类型图源不支持该属性。
> - PixelMap资源不支持该属性。 | -| renderMode | [ImageRenderMode](#imagerendermode) | ImageRenderMode.Original | 设置图片渲染的模式。
> **说明:**
> - svg类型图源不支持该属性。 | -| sourceSize | {
width: number,
height: number
} | - | 设置图片裁剪尺寸,将原始图片解码成pixelMap,指定尺寸的图片,单位为px。
> **说明:**
> PixelMap资源不支持该属性。 | -| matchTextDirection | boolean | false | 设置图片是否跟随系统语言方向,在RTL语言环境下显示镜像翻转显示效果。 | -| fitOriginalSize | boolean | true | 图片组件尺寸未设置时,其显示尺寸是否跟随图源尺寸。 | -| fillColor | [ResourceColor](../../ui/ts-types.md#resourcecolor8) | - | 仅对svg图源生效,设置后会替换svg图片的fill颜色。 | -| autoResize | boolean | true | 是否需要在图片解码过程中对图源做resize操作,该操作会根据显示区域的尺寸决定用于绘制的图源尺寸,有利于减少内存占用。 | -| syncLoad8+ | boolean | false | 设置是否同步加载图片,默认是异步加载。同步加载时阻塞UI线程,不会显示占位图。 | -| copyOption9+ | [CopyOptions](ts-appendix-enums.md#copyoptions9) | CopyOptions.None | 设置图片是否可复制(SVG图片不支持复制)。
当设置copyOption为非CopyOptions.None时,支持快捷组合键'CTRL+C'进行复制。 | -| colorFilter9+ | [ColorFilter](../../ui/ts-types.md#colorfilter9) | - | 给图像设置颜色滤镜效果。 | +| 名称 | 参数类型 | 描述 | +| --------------------- | ------------------------------------------------------- | ------------------------------------------------------------ | +| alt | string \| [Resource](../../ui/ts-types.md#resource类型) | 加载时显示的占位图,支持本地图片和网络图片。 | +| objectFit | [ImageFit](ts-appendix-enums.md#imagefit) | 设置图片的缩放类型。
默认值:ImageFit.Cover | +| objectRepeat | [ImageRepeat](ts-appendix-enums.md#imagerepeat) | 设置图片的重复样式。
默认值:NoRepeat
**说明:**
svg类型图源不支持该属性。 | +| interpolation | [ImageInterpolation](#imageinterpolation) | 设置图片的插值效果,即减轻低清晰度图片在放大显示的时候出现的锯齿问题,仅针对图片放大插值。
默认值:ImageInterpolation.None
**说明:**
svg类型图源不支持该属性。
PixelMap资源不支持该属性。 | +| renderMode | [ImageRenderMode](#imagerendermode) | 设置图片渲染的模式。
默认值:ImageRenderMode.Original
**说明:**
svg类型图源不支持该属性。 | +| sourceSize | {
width: number,
height: number
} | 设置图片裁剪尺寸,将原始图片解码成pixelMap,指定尺寸的图片,单位为px。
**说明:**
PixelMap资源不支持该属性。 | +| matchTextDirection | boolean | 设置图片是否跟随系统语言方向,在RTL语言环境下显示镜像翻转显示效果。
默认值:false | +| fitOriginalSize | boolean | 图片组件尺寸未设置时,其显示尺寸是否跟随图源尺寸。
默认值:true | +| fillColor | [ResourceColor](../../ui/ts-types.md#resourcecolor8) | 填充颜色。设置的填充颜色会覆盖在图片上。仅对svg图源生效,设置后会替换svg图片的fill颜色。 | +| autoResize | boolean | 是否需要在图片解码过程中对图源做resize操作,该操作会根据显示区域的尺寸决定用于绘制的图源尺寸,有利于减少内存占用。
默认值:true | +| syncLoad8+ | boolean | 设置是否同步加载图片,默认是异步加载。同步加载时阻塞UI线程,不会显示占位图。
默认值:false | +| copyOption9+ | [CopyOptions](ts-appendix-enums.md#copyoptions9) | 设置图片是否可复制(SVG图片不支持复制)。
当copyOption设置为非CopyOptions.None时,支持使用长按、鼠标右击、快捷组合键'CTRL+C'等方式进行复制。
默认值:CopyOptions.None | +| colorFilter9+ | [ColorFilter](../../ui/ts-types.md#colorfilter9) | 给图像设置颜色滤镜效果。 | > **说明:** +> > 使用快捷组合键对Image组件复制的前提是,该组件必须处于获焦状态。将Image组件的属性focusable设置为true,即可使用TAB键将焦点切换到Image组件上,再将Image组件的focusOnTouch属性设置为true,即可实现点击获焦。 ### ImageInterpolation diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md index ea8b2dee5d..c2804ee0d0 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md @@ -1,15 +1,10 @@ # Navigation -> **说明:** -> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - Navigation组件一般作为Page页面的根容器,通过属性设置来展示页面的标题、工具栏、菜单。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -23,43 +18,47 @@ Navigation() 创建可以根据属性设置,自动展示导航栏、标题、工具栏的组件。 - ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------------- | ---------------------------------------- | ------------------------ | ---------------------------------------- | -| title | string \| [CustomBuilder](../../ui/ts-types.md) | - | 页面标题。 | -| subTitle | string | - | 页面副标题。 | -| menus | Array8+ | - | 页面右上角菜单。 | -| titleMode | NavigationTitleMode | NavigationTitleMode.Free | 页面标题栏显示模式。 | -| toolBar | {
items:Array<Object> }
\| [CustomBuilder](../../ui/ts-types.md#custombuilder8)8+ | - | 设置工具栏内容。
items: 工具栏所有项。 | -| hideToolBar | boolean | false | 设置隐藏/显示工具栏:
true: 隐藏工具栏。
false: 显示工具栏。 | -| hideTitleBar | boolean | false | 隐藏标题栏。 | -| hideBackButton | boolean | false | 隐藏返回键。 | - -- NavigationMenuItem类型接口说明 - | 名称 | 类型 | 必填 | 默认值 | 描述 | - | ------ | ----------------------- | ---- | ---- | --------------- | - | value | string | 是 | - | 菜单栏单个选项的显示文本。 | - | icon | string | 否 | - | 菜单栏单个选项的图标资源路径。 | - | action | () => void | 否 | - | 当前选项被选中的事件回调。 | - -- Object类型说明 - | 名称 | 类型 | 必填 | 默认值 | 描述 | - | ------ | ----------------------- | ---- | ---- | --------------- | - | value | string | 是 | - | 工具栏单个选项的显示文本。 | - | icon | string | 否 | - | 工具栏单个选项的图标资源路径。 | - | action | () => void | 否 | - | 当前选项被选中的事件回调。 | - -- NavigationTitleMode枚举说明 - | 名称 | 描述 | - | ---- | ---------------------------------------- | - | Free | 当内容为可滚动组件时,标题随着内容向上滚动而缩小(子标题的大小不变、淡出)。向下滚动内容到顶时则恢复原样。 | - | Mini | 固定为小标题模式(图标+主副标题)。 | - | Full | 固定为大标题模式(主副标题)。 | - - > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** - > 目前可滚动组件只支持List。 +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| -------------- | ---------------------------------------- | ---------------------------------------- | +| title | string \| [CustomBuilder](../../ui/ts-types.md) | 页面标题。 | +| subTitle | string | 页面副标题。 | +| menus | Array8+ | 页面右上角菜单。 | +| titleMode | NavigationTitleMode | 页面标题栏显示模式。
默认值:NavigationTitleMode.Free | +| toolBar | object \| [CustomBuilder](../../ui/ts-types.md#custombuilder8)8+ | 设置工具栏内容。
items: 工具栏所有项。 | +| hideToolBar | boolean | 设置隐藏/显示工具栏:
默认值:false
true: 隐藏工具栏。
false: 显示工具栏。 | +| hideTitleBar | boolean | 隐藏标题栏。
默认值:false | +| hideBackButton | boolean | 隐藏返回键。
默认值:false | + +## NavigationMenuItem类型说明 + +| 名称 | 类型 | 必填 | 描述 | +| ------ | ----------------------- | ---- | ------------------------------ | +| value | string | 是 | 菜单栏单个选项的显示文本。 | +| icon | string | 否 | 菜单栏单个选项的图标资源路径。 | +| action | () => void | 否 | 当前选项被选中的事件回调。 | + +## object类型说明 + +| 名称 | 类型 | 必填 | 描述 | +| ------ | ----------------------- | ---- | ------------------------------ | +| value | string | 是 | 工具栏单个选项的显示文本。 | +| icon | string | 否 | 工具栏单个选项的图标资源路径。 | +| action | () => void | 否 | 当前选项被选中的事件回调。 | + +## NavigationTitleMode枚举说明 + +| 名称 | 描述 | +| ---- | ---------------------------------------- | +| Free | 当内容为可滚动组件时,标题随着内容向上滚动而缩小(子标题的大小不变、淡出)。向下滚动内容到顶时则恢复原样。 | +| Mini | 固定为小标题模式(图标+主副标题)。 | +| Full | 固定为大标题模式(主副标题)。 | + +> **说明:** +> 目前可滚动组件只支持List。 ## 事件 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-patternlock.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-patternlock.md index 8304c92ce5..95099d70d1 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-patternlock.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-patternlock.md @@ -6,10 +6,6 @@ > > 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -## 权限列表 - -无 - ## 子组件 无 @@ -18,29 +14,31 @@ PatternLock(controller?: PatternLockController) -- 参数 +**参数:** - | 参数名 | 参数类型 | 必填 | 默认值 | 描述 | - | ---------- | ---------------------------------------- | ---- | ---- | ---------------------- | - | controller | [PatternLockController](#patternlockcontroller) | 否 | null | 给组件绑定一个控制器,用来控制组件状态重置。 | +| 参数名 | 参数类型 | 必填 | 描述 | +| ---------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | +| controller | [PatternLockController](#patternlockcontroller) | 否 | 给组件绑定一个控制器,用来控制组件状态重置。
默认值:null | ## 属性 不支持`backgroundColor`以外的通用属性设置。 -| 名称 | 参数类型 | 默认值 | 描述 | -| --------------- | ------------------------------------- | ----------- | ---------------------------------------- | -| sideLength | Length | 300vp | 设置组件的宽度和高度(相同值)。最小可以设置为0。 | -| circleRadius | Length | 14vp | 设置宫格圆点的半径。 | -| regularColor | [ResourceColor](../../ui/ts-types.md) | Color.Black | 设置宫格圆点在“未选中”状态的填充颜色。 | -| selectedColor | [ResourceColor](../../ui/ts-types.md) | Color.Black | 设置宫格圆点在“选中”状态的填充颜色。 | -| activeColor | [ResourceColor](../../ui/ts-types.md) | Color.Black | 设置宫格圆点在“激活”状态的填充颜色。 | -| pathColor | [ResourceColor](../../ui/ts-types.md) | Color.Blue | 设置连线的颜色。 | -| pathStrokeWidth | Length | 34vp | 设置连线的宽度。最小可以设置为0。 | -| autoReset | boolean | true | 设置是否支持用户在完成输入后再次触屏重置组件状态。如果设置为true,用户可以通过触摸图案密码锁重置组件状态(清除之前的输入效果);如果设置为false,用户手指离开屏幕完成输入后,再次触摸图案密码锁(包括圆点)不能改变之前的输入状态。 | +| 名称 | 参数类型 | 描述 | +| --------------- | ------------------------------------- | ------------------------------------------------------------ | +| sideLength | [Length](../../ui/ts-types.md) | 设置组件的宽度和高度(相同值)。最小可以设置为0。
默认值:300vp | +| circleRadius | [Length](../../ui/ts-types.md) | 设置宫格圆点的半径。
默认值:14vp | +| regularColor | [ResourceColor](../../ui/ts-types.md) | 设置宫格圆点在“未选中”状态的填充颜色。
默认值:Color.Black | +| selectedColor | [ResourceColor](../../ui/ts-types.md) | 设置宫格圆点在“选中”状态的填充颜色。
默认值:Color.Black | +| activeColor | [ResourceColor](../../ui/ts-types.md) | 设置宫格圆点在“激活”状态的填充颜色。
默认值:Color.Black | +| pathColor | [ResourceColor](../../ui/ts-types.md) | 设置连线的颜色。
默认值:Color.Blue | +| pathStrokeWidth | number \| string | 设置连线的宽度。最小可以设置为0。
默认值:34vp | +| autoReset | boolean | 设置是否支持用户在完成输入后再次触屏重置组件状态。如果设置为true,用户可以通过触摸图案密码锁重置组件状态(清除之前的输入效果);如果设置为false,用户手指离开屏幕完成输入后,再次触摸图案密码锁(包括圆点)不能改变之前的输入状态。
默认值:true | ## 事件 +除支持[通用事件](ts-universal-events-click.md)外,还支持以下事件: + | 名称 | 描述 | | ---------------------------------------- | ---------------------------------------- | | onPatternComplete(callback: (input: Array\) => void) | 密码输入结束时被调用的回调函数。
input: 与选中宫格圆点顺序一致的数字数组,数字为选中宫格的索引(0到8)。 | diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md index 38c27d02c4..58125935b9 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-plugincomponent.md @@ -1,5 +1,7 @@ # PluginComponent +提供外部应用组件嵌入式显示功能,即外部应用提供的UI可在本应用内显示。 + > **说明:** > @@ -8,14 +10,6 @@ > - 本组件为系统接口。 -提供外部应用组件嵌入式显示功能,即外部应用提供的UI可在本应用内显示。 - - -## 权限列表 - -无 - - ## 子组件 无 @@ -23,20 +17,22 @@ ## 接口 -PluginComponent(value: { template: PluginComponentTemplate, data: any }) +PluginComponent(value: { template: PluginComponentTemplate, data: KVObject}) 创建插件组件,用于显示外部应用提供的UI。 -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | ----- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | - | value | {
template: PluginComponentTemplate,
data: KVObject
} | 是 | - | template:  组件模板,用于跟提供者定义的组件绑定。
data: 传给插件组件提供者使用的数据。 | +**参数:** -- PluginComponentTemplate类型说明 - | 参数 | 类型 | 描述 | - | ------- | ------ | ----------------------- | - | source | string | 组件模板名。 | - | ability | string | 提供者Ability的abilityname。 | +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| value | {
template: PluginComponentTemplate,
data: KVObject
} | 是 | template:  组件模板,用于跟提供者定义的组件绑定。
data: 传给插件组件提供者使用的数据。 | + +## PluginComponentTemplate类型说明 + +| 参数 | 类型 | 描述 | +| ------- | ------ | ----------------------- | +| source | string | 组件模板名。 | +| ability | string | 提供者Ability的abilityname。 | ## 事件 @@ -66,24 +62,25 @@ push(param: PushParameters, callback: AsyncCallback<void>): void 组件提供者向组件使用者主动发送组件与数据。 +**参数** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | -------------------------------- | +| param | PushParameters | 是 | 组件使用者的详细信息,详见PushParameters参数说明。 | +| callback | AsyncCallback<void> | 是 | 此次接口调用的异步回调。 | -- 参数 - | 参数名 | 类型 | 必填 | 说明 | - | -------- | ------------------------- | ---- | -------------------------------- | - | param | PushParameters | 是 | 组件使用者的详细信息,详见PushParameters参数说明。 | - | callback | AsyncCallback<void> | 是 | 此次接口调用的异步回调。 | +**PushParameters参数说明** -- PushParameters参数说明 - | 参数名 | 类型 | 必填 | 说明 | - | --------- | -------- | ---- | --------------- | - | want | Want | 是 | 组件使用者Ability信息。 | - | name | string | 是 | 组件名称。 | - | data | KVObject | 否 | 组件数据值。 | - | extraData | KVObject | 否 | 附加数据值。 | +| 参数名 | 类型 | 必填 | 说明 | +| --------- | -------- | ---- | --------------- | +| want | Want | 是 | 组件使用者Ability信息。 | +| name | string | 是 | 组件名称。 | +| data | KVObject | 否 | 组件数据值。 | +| extraData | KVObject | 否 | 附加数据值。 | -- 示例 +**示例** - 见[Plugin组件提供方](#组件提供方)示例。 +见[Plugin组件提供方](#组件提供方)示例。 ## request @@ -92,35 +89,38 @@ request(param: RequestParameters, callback: AsyncCallback<RequestCallbackPara 组件使用者向组件提供者主动请求组件。 -- 参数 - | 参数名 | 类型 | 必填 | 说明 | - | -------- | ---------------------------------------- | ---- | ------------------------------------ | - | param | RequestParameters | 是 | 组件模板的详细请求信息,详见RequestParameters参数说明。 | - | callback | AsyncCallback"push”:指组件提供者向使用者主动推送数据。
"request”:指组件使用者向提供者主动请求数据。 | - | callback | OnPushEventCallback \| OnRequestEventCallback | 是 | 见callback事件说明。 | +**参数** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ---------------------------------------- | ---- | ---------------------------------------- | +| eventType | string | 是 | 监听的事件类型, 可选值为:"push" 、"request"。
"push”:指组件提供者向使用者主动推送数据。
"request”:指组件使用者向提供者主动请求数据。 | +| callback | OnPushEventCallback \| OnRequestEventCallback | 是 | 见callback事件说明。 | + +**callback事件说明** + +| 参数名 | 类型 | 说明 | +| ---------------------- | ---------------------------------------- | ---------------------------------------- | +| OnRequestEventCallback | (source: Want,
name: string,
data: KVObject ) =>RequestEventResult | 数据请求事件的回调。
source: 组件请求方Ability信息。
name: 请求组件名称。
data: 附加数据。
返回值: 请求数据结果。 | +| OnPushEventCallback | (source: Want,
template: PluginComponentTemplate,
data: KVObject,
extraData: KVObject
) => void | 接收提供者主动推送的数据。
source: 组件提供者Ability信息。
template: 组件模板。
data: 组件更新数据。
extraData: 附加数据。 | -- callback事件说明 - | 参数名 | 类型 | 说明 | - | ---------------------- | ---------------------------------------- | ---------------------------------------- | - | OnRequestEventCallback | (source: Want,
name: string,
data: KVObject ) =>RequestEventResult | 数据请求事件的回调。
source: 组件请求方Ability信息。
name: 请求组件名称。
data: 附加数据。
返回值: 请求数据结果。 | - | OnPushEventCallback | (source: Want,
template: PluginComponentTemplate,
data: KVObject,
extraData: KVObject
) => void | 接收提供者主动推送的数据。
source: 组件提供者Ability信息。
template: 组件模板。
data: 组件更新数据。
extraData: 附加数据。 | +**RequestEventResult类型说明** -- RequestEventResult类型说明 - | 参数 | 类型 | 说明 | - | --------- | -------- | ----- | - | template | string | 组件名称。 | - | data | KVObject | 组件数据。 | - | extraData | KVObjec | 附加数据。 | +| 参数 | 类型 | 说明 | +| --------- | -------- | ---------- | +| template | string | 组件名称。 | +| data | KVObject | 组件数据。 | +| extraData | KVObject | 附加数据。 | -- 示例 +**示例** - 见[Plugin组件工具](#Plugin组件工具)示例。 +见[Plugin组件工具](#plugin组件工具)示例。 ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md index d88b30a081..ea1c55e0a4 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md @@ -1,15 +1,10 @@ # Progress -> **说明:** -> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 进度条,用于显示内容加载或操作处理进度。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -23,31 +18,33 @@ Progress(options: {value: number, total?: number, type?: ProgressType}) 创建进度组件,用于显示内容加载或操作处理进度。 -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | value | number | 是 | - | 指定当前进度值。 | - | total | number | 否 | 100 | 指定进度总长。 | - | type | ProgressType | 否 | ProgressType.Linear | 指定进度条样式。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| value | number | 是 | 指定当前进度值。 | +| total | number | 否 | 指定进度总长。
默认值:100 | +| type | ProgressType | 否 | 指定进度条样式。
默认值:ProgressType.Linear | -- ProgressType枚举说明 - | 名称 | 描述 | - | -------- | -------- | - | Linear8+ | 线性样式。 | - | Ring8+ | 环形无刻度样式,环形圆环逐渐填充完成过程。 | - | Eclipse8+ | 圆形样式,展现类似月圆月缺的进度展示效果,从月牙逐渐到满月的这个过程代表了下载的进度。 | - | ScaleRing8+ | 环形有刻度样式,类似时钟刻度形式加载进度。 | - | Capsule8+ | 胶囊样式,头尾两端处,进度条由弧形变成直线和直线变成弧形的过程;中段处,进度条正常往右走的过程。 | +## ProgressType枚举说明 +| 名称 | 描述 | +| -------- | -------- | +| Linear8+ | 线性样式。 | +| Ring8+ | 环形无刻度样式,环形圆环逐渐填充完成过程。 | +| Eclipse8+ | 圆形样式,展现类似月圆月缺的进度展示效果,从月牙逐渐到满月的这个过程代表了下载的进度。 | +| ScaleRing8+ | 环形有刻度样式,类似时钟刻度形式加载进度。 | +| Capsule8+ | 胶囊样式,头尾两端处,进度条由弧形变成直线和直线变成弧形的过程;中段处,进度条正常往右走的过程。 | ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| value | number | - | 设置当前进度值。 | -| color | [ResourceColor](../../ui/ts-types.md) | - | 设置进度条前景色。 | -| style8+ | {
strokeWidth?: Length,
scaleCount?: number,
scaleWidth?: Length
} | - | 定义组件的样式。
strokeWidth: 设置进度条宽度。
scaleCount: 设置环形进度条总刻度数。
scaleWidth: 设置环形进度条刻度粗细。
刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| value | number | 设置当前进度值。 | +| color | [ResourceColor](../../ui/ts-types.md) | 设置进度条前景色。 | +| style8+ | {
strokeWidth?: [Length](../../ui/ts-types.md),
scaleCount?: number,
scaleWidth?: [Length](../../ui/ts-types.md)
} | 定义组件的样式。
strokeWidth: 设置进度条宽度。
scaleCount: 设置环形进度条总刻度数。
scaleWidth: 设置环形进度条刻度粗细。刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 | ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-qrcode.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-qrcode.md index 718c4190f8..b988fa3483 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-qrcode.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-qrcode.md @@ -6,11 +6,6 @@ > 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -## 权限列表 - -无 - - ## 子组件 无 @@ -20,23 +15,25 @@ QRCode(value: string) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | value | string | 是 | - | 二维码内容字符串。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| value | string | 是 | 二维码内容字符串。 | ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| color | [ResourceColor](../../ui/ts-types.md) | Black | 设置二维码颜色。 | -| backgroundColor | [ResourceColor](../../ui/ts-types.md) | - | 设置二维码背景颜色。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性。 + +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| color | [ResourceColor](../../ui/ts-types.md) | 设置二维码颜色。
默认值:Color.Black | +| backgroundColor | [ResourceColor](../../ui/ts-types.md) | 设置二维码背景颜色。
默认值:Color.White | ## 事件 -通用事件仅支持点击事件。 +通用事件仅支持[点击事件](ts-universal-events-click.md)。 ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-radio.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-radio.md index 50e25d07d6..76bc6a9a64 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-radio.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-radio.md @@ -1,15 +1,10 @@ # Radio -> **说明:** -> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 单选框,提供相应的用户交互选择项。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -21,23 +16,26 @@ Radio(options: {value: string, group: string}) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | value | string | 是 | - | 当前单选框的值。| - | group | string | 是 | - | 当前单选框的所属群组名称,相同group的Radio只能有一个被选中。| +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| value | string | 是 | 当前单选框的值。| +| group | string | 是 | 当前单选框的所属群组名称,相同group的Radio只能有一个被选中。| ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| checked | boolean | false | 设置单选框的选中状态。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| checked | boolean | 设置单选框的选中状态。
默认值:false | ## 事件 -| 名称 | 功能描述 | +除支持[通用事件](ts-universal-events-click.md)外,还支持以下事件: + +| 名称 | 功能描述 | | -------- | -------- | | onChange(callback: (isChecked: boolean) => void) | 单选框选中状态改变时触发回调。
-isChecked为true时,代表选中。
-isChecked为false时,代表未选中。 | diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-search.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-search.md index 592794f56f..d4d84906cf 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-search.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-search.md @@ -1,15 +1,11 @@ # Search +提供搜索框组件,用于提供用户搜索内容的输入区域。 + > **说明:** > > 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -提供搜索框组件,用于提供用户搜索内容的输入区域。 - -## 权限列表 - -无 - ## 子组件 无 @@ -18,25 +14,27 @@ Search(options?: { value?: string; placeholder?: string; icon?: string; controller?: SearchController }) -- 参数 - - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | ----------- | ---------------- | ---- | ---- | ---------------------------------------- | - | value | string | 否 | - | 搜索文本值。 | - | placeholder | string | 否 | - | 无输入时的提示文本。 | - | icon | string | 否 | - | 搜索图标路径,默认使用系统搜索图标,支持的图标格式: svg, jpg和png。 | - | controller | SearchController | 否 | - | 控制器。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ----------- | ---------------- | ---- | ------------------------------------------------------------ | +| value | string | 否 | 搜索文本值。 | +| placeholder | string | 否 | 无输入时的提示文本。 | +| icon | string | 否 | 搜索图标路径,默认使用系统搜索图标,支持的图标格式: svg、jpg和png。 | +| controller | SearchController | 否 | 控制器。 | ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| ----------------------- | ---------------------------------------- | ---- | --------------------- | -| searchButton | string | 无 | 搜索框末尾搜索按钮文本值,默认无搜索按钮。 | -| placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。 | -| placeholderFont | [Font](../../ui/ts-types.md) | - | 设置placeholder文本样式。 | -| textFont | [Font](../../ui/ts-types.md) | - | 设置搜索框内文本样式。 | -| copyOption9+ | [CopyOptions](ts-basic-components-text.md) | CopyOptions.CrossDevice | 设置文本是否可复制。 | +除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: + +| 名称 | 参数类型 | 描述 | +| ----------------------- | ------------------------------------------------ | ---------------------------------------------- | +| searchButton | string | 搜索框末尾搜索按钮文本值,默认无搜索按钮。 | +| placeholderColor | [ResourceColor](../../ui/ts-types.md) | 设置placeholder颜色。 | +| placeholderFont | [Font](../../ui/ts-types.md) | 设置placeholder文本样式。 | +| textFont | [Font](../../ui/ts-types.md) | 设置搜索框内文本样式。 | +| copyOption9+ | [CopyOptions](ts-appendix-enums.md#copyoptions9) | 设置文本是否可复制。 | +| textAlign | [TextAlign](ts-appendix-enums.md#textalign) | 设置文本对齐方式。
默认值:TextAlign.Start | ## 事件 @@ -62,13 +60,11 @@ caretPosition(value: number): void 设置输入光标的位置。 -- 参数 - - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | ----- | ------ | ---- | ---- | ----------------- | - | value | number | 是 | - | 从字符串开始到光标所在位置的长度。 | - +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------ | -------- | ---- | ---------------------------------- | +| value | number | 是 | 从字符串开始到光标所在位置的长度。 | ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-textinput.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-textinput.md index 09d867d0b3..ddb27a0046 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-textinput.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-textinput.md @@ -3,12 +3,8 @@ 可以输入单行文本并支持响应输入事件的组件。 > **说明:** -> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - -## 权限列表 - -无 +> +> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -20,53 +16,58 @@ TextInput(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextInputController}) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | ----------------------- | ---------------------------------------- | ---- | ---- | --------------- | - | placeholder | [ResourceStr](../../ui/ts-types.md) | 否 | - | 无输入时的提示文本。 | - | text | [ResourceStr](../../ui/ts-types.md) | 否 | - | 设置输入框当前的文本内容。 | - | controller8+ | [TextInputController](#textinputcontroller8) | 否 | - | 设置TextInput控制器。 | +**参数:** + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ----------------------- | ---------------------------------------- | ---- | --------------- | +| placeholder | [ResourceStr](../../ui/ts-types.md) | 否 | 无输入时的提示文本。 | +| text | [ResourceStr](../../ui/ts-types.md) | 否 | 设置输入框当前的文本内容。 | +| controller8+ | [TextInputController](#textinputcontroller8) | 否 | 设置TextInput控制器。 | ## 属性 除支持通用属性外,还支持以下属性: -| 名称 | 参数类型 | 默认值 | 描述 | -| ------------------------ | ---------------------------------------- | ----------------- | ---------------------------------------- | -| type | InputType | InputType.Normal | 设置输入框类型。 | -| placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。| -| placeholderFont | {
size?: Length,
weight?: number\|[FontWeight](ts-universal-attributes-text-style.md),
family?: string,
style?: [FontStyle](ts-universal-attributes-text-style.md)
} | - | 设置placeholder文本样式:
- size: 设置文本尺寸,Length为number类型时,使用fp单位。
- weight: 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。
- family: 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, sans-serif'。
- style: 设置文本的字体样式。 | -| enterKeyType | EnterKeyType | EnterKeyType.Done | 设置输入法回车键类型。 | -| caretColor | [ResourceColor](../../ui/ts-types.md) | - | 设置输入框光标颜色。 | -| maxLength | number | - | 设置文本的最大输入字符数。 | -| inputFilter8+ | {
value: [ResourceStr](../../ui/ts-types.md)8+,
error?: (value: string) => void
} | - | 正则表达式,满足表达式的输入允许显示,不满足正则表达式的输入被忽略。仅支持单个字符匹配,不支持字符串匹配。例如:^(?=.\*\d)(?=.\*[a-z])(?=.\*[A-Z]).{8,10}$,8到10位的强密码不支持过滤。
- value:设置正则表达式。
- error:正则匹配失败时,返回被忽略的内容。 | -| copyOption9+ | [CopyOptions](ts-basic-components-text.md) | CopyOptions.CrossDevice | 设置文本是否可复制。 | -| showPasswordIcon9+ | boolean | true | 密码输入模式时,密码框末尾的图标是否显示。 | -| style9+ | TextInputStyle | Default | TextInput风格。 | - -- EnterKeyType枚举说明 - | 名称 | 描述 | - | ------------------- | --------- | - | Go | 显示Go文本。 | - | Search | 显示为搜索样式。 | - | Send | 显示为发送样式。 | - | Next | 显示为下一个样式。 | - | Done | 标准样式。 | - -- InputType枚举说明 - | 名称 | 描述 | - | ------------------ | ------------- | - | Normal | 基本输入模式。 | - | Password | 密码输入模式。 | - | Email | e-mail地址输入模式。 | - | Number | 纯数字输入模式。 | - -- TextInputStyle枚举说明 - | 名称 | 描述 | - | ------------------ | ------------- | - | Default | 默认风格,光标宽1.5vp,光标高度和字体大小高度相关,字体越大光标越高。 | - | Inline | 内联输入风格。文字选中时底板与输入框同高。 | +| 名称 | 参数类型 | 描述 | +| ------------------------ | ---------------------------------------- | ---------------------------------------- | +| type | InputType | 设置输入框类型。
默认值:InputType.Normal | +| placeholderColor | [ResourceColor](../../ui/ts-types.md) | 设置placeholder颜色。| +| placeholderFont | {
size?: Length,
weight?: number\|[FontWeight](ts-universal-attributes-text-style.md),
family?: string,
style?: [FontStyle](ts-universal-attributes-text-style.md)
} | 设置placeholder文本样式:
- size: 设置文本尺寸,Length为number类型时,使用fp单位。
- weight: 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。
- family: 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效。例如:'Arial, sans-serif'。
- style: 设置文本的字体样式。 | +| enterKeyType | EnterKeyType | 设置输入法回车键类型。
默认值:EnterKeyType.Done | +| caretColor | [ResourceColor](../../ui/ts-types.md) | 设置输入框光标颜色。 | +| maxLength | number | 设置文本的最大输入字符数。 | +| inputFilter8+ | {
value: [ResourceStr](../../ui/ts-types.md)8+,
error?: (value: string) => void
} | 正则表达式,满足表达式的输入允许显示,不满足正则表达式的输入被忽略。仅支持单个字符匹配,不支持字符串匹配。例如:^(?=.\*\d)(?=.\*[a-z])(?=.\*[A-Z]).{8,10}$,8到10位的强密码不支持过滤。
- value:设置正则表达式。
- error:正则匹配失败时,返回被忽略的内容。 | +| copyOption9+ | [CopyOptions](ts-appendix-enums.md#copyoptions9) | 设置文本是否可复制。 | +| showPasswordIcon9+ | boolean | 密码输入模式时,密码框末尾的图标是否显示。
默认值:true | +| style9+ | TextInputStyle | TextInput风格。
默认值:TextInputStyle.Default | + +## EnterKeyType枚举说明 + +| 名称 | 描述 | +| ------------------- | --------- | +| Go | 显示Go文本。 | +| Search | 显示为搜索样式。 | +| Send | 显示为发送样式。 | +| Next | 显示为下一个样式。 | +| Done | 标准样式。 | + +## InputType枚举说明 + +| 名称 | 描述 | +| ------------------ | ------------- | +| Normal | 基本输入模式。
支持输入数字、字母、下划线、空格、特殊字符。 | +| Password | 密码输入模式。 | +| Email | e-mail地址输入模式。 | +| Number | 纯数字输入模式。 | +| PhoneNumber9+ | 电话号码输入模式。
支持输入数字、+ 、-、*、#,长度不限。 | + +## TextInputStyle枚举说明 + +| 名称 | 描述 | +| ------------------ | ------------- | +| Default | 默认风格,光标宽1.5vp,光标高度和字体大小高度相关,字体越大光标越高。 | +| Inline | 内联输入风格。文字选中时底板与输入框同高。 | ## 事件 @@ -93,11 +94,12 @@ controller: TextInputController = new TextInputController() caretPosition(value: number): void 设置输入光标的位置。 -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | ----- | ------ | ---- | ---- | ---------------------------------------- | - | value | number | 是 | - | 从字符串开始到光标所在位置的字符长度。 | +**参数:** + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------ | -------- | ---- | -------------------------------------- | +| value | number | 是 | 从字符串开始到光标所在位置的字符长度。 | ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md index a7c3dfcdc1..41476d7640 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md @@ -63,8 +63,8 @@ RenderingContextSettings(antialias?: boolean) @Entry @Component struct FillStyleExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -93,8 +93,8 @@ struct FillStyleExample { @Entry @Component struct LineWidthExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -123,8 +123,8 @@ struct LineWidthExample { @Entry @Component struct StrokeStyleExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -155,8 +155,8 @@ struct StrokeStyleExample { @Entry @Component struct LineCapExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -189,8 +189,8 @@ struct LineCapExample { @Entry @Component struct LineJoinExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -224,8 +224,8 @@ struct LineJoinExample { @Entry @Component struct MiterLimit { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -259,8 +259,8 @@ struct MiterLimit { @Entry @Component struct Fonts { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -289,8 +289,8 @@ struct Fonts { @Entry @Component struct CanvasExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -334,8 +334,8 @@ struct CanvasExample { @Entry @Component struct TextBaseline { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -379,8 +379,8 @@ struct TextBaseline { @Entry @Component struct GlobalAlpha { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -412,8 +412,8 @@ struct GlobalAlpha { @Entry @Component struct LineDashOffset { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -457,8 +457,8 @@ struct LineDashOffset { @Entry @Component struct GlobalCompositeOperation { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -527,8 +527,8 @@ struct ShadowBlur { @Entry @Component struct ShadowColor { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -559,8 +559,8 @@ struct ShadowColor { @Entry @Component struct ShadowOffsetX { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -592,8 +592,8 @@ struct ShadowOffsetX { @Entry @Component struct ShadowOffsetY { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -624,9 +624,9 @@ struct ShadowOffsetY { @Entry @Component struct ImageSmoothingEnabled { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - private img:ImageBitmap = new ImageBitmap("common/images/icon.jpg") + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); + private img:ImageBitmap = new ImageBitmap("common/images/icon.jpg"); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -671,8 +671,8 @@ fillRect(x: number, y: number, w: number, h: number): void @Entry @Component struct FillRect { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -713,8 +713,8 @@ strokeRect(x: number, y: number, w: number, h: number): void @Entry @Component struct StrokeRect { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -754,8 +754,8 @@ clearRect(x: number, y: number, w: number, h: number): void @Entry @Component struct ClearRect { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -796,8 +796,8 @@ fillText(text: string, x: number, y: number): void @Entry @Component struct FillText { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -837,8 +837,8 @@ strokeText(text: string, x: number, y: number): void @Entry @Component struct StrokeText { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -886,8 +886,8 @@ measureText(text: string): TextMetrics @Entry @Component struct MeasureText { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -926,8 +926,8 @@ stroke(path?: Path2D): void @Entry @Component struct Stroke { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -963,8 +963,8 @@ beginPath(): void @Entry @Component struct BeginPath { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1008,8 +1008,8 @@ moveTo(x: number, y: number): void @Entry @Component struct MoveTo { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1051,8 +1051,8 @@ lineTo(x: number, y: number): void @Entry @Component struct LineTo { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1088,8 +1088,8 @@ closePath(): void @Entry @Component struct ClosePath { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1133,9 +1133,9 @@ createPattern(image: ImageBitmap, repetition: string): void @Entry @Component struct CreatePattern { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - private img:ImageBitmap = new ImageBitmap("common/images/icon.jpg") + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); + private img:ImageBitmap = new ImageBitmap("common/images/icon.jpg"); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1180,8 +1180,8 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, @Entry @Component struct BezierCurveTo { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1271,8 +1271,8 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, @Entry @Component struct Arc { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1316,8 +1316,8 @@ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @Entry @Component struct ArcTo { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1365,8 +1365,8 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number @Entry @Component struct CanvasExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1409,8 +1409,8 @@ rect(x: number, y: number, width: number, height: number): void @Entry @Component struct CanvasExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1444,8 +1444,8 @@ fill(): void @Entry @Component struct Fill { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1479,8 +1479,8 @@ clip(): void @Entry @Component struct Clip { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1522,8 +1522,8 @@ rotate(rotate: number): void @Entry @Component struct Rotate { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1563,8 +1563,8 @@ scale(x: number, y: number): void @Entry @Component struct Scale { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1616,8 +1616,8 @@ transform方法对应一个变换矩阵,想对一个图形进行变化的时 @Entry @Component struct Transform { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1667,8 +1667,8 @@ setTransfrom方法使用的参数和transform()方法相同,但setTransform() @Entry @Component struct SetTransform { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1711,8 +1711,8 @@ translate(x: number, y: number): void @Entry @Component struct Translate { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1861,8 +1861,8 @@ putImageData(imageData: Object, dx: number, dy: number, dirtyX?: number, dirtyY? @Entry @Component struct PutImageData { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1902,8 +1902,8 @@ restore(): void @Entry @Component struct CanvasExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1934,8 +1934,8 @@ save(): void @Entry @Component struct CanvasExample { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -1974,8 +1974,8 @@ createLinearGradient(x0: number, y0: number, x1: number, y1: number): void @Entry @Component struct CreateLinearGradient { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { @@ -2023,8 +2023,8 @@ createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, @Entry @Component struct CreateRadialGradient { - private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + private settings: RenderingContextSettings = new RenderingContextSettings(true); + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-ellipse.md b/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-ellipse.md index 730cff1550..afb3ccd11d 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-ellipse.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-ellipse.md @@ -1,15 +1,10 @@ # Ellipse -> **说明:** -> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - 椭圆绘制组件。 - -## 权限列表 - -无 +> **说明:** +> +> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 子组件 @@ -21,24 +16,21 @@ ellipse(options?: {width: Length, height: Length}) -- 参数 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | options | Object | 否 | - | 见options参数说明。 | - -- options参数说明 - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | width | Length | 是 | - | 宽度。 | - | height | Length | 是 | - | 高度。 | +**参数:** +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| width | string \| number | 是 | 宽度。
默认值:0 | +| height | string \| number | 是 | 高度。
默认值:0 | ## 属性 -| 参数名称 | 参数类型 | 默认值 | 必填 | 参数描述 | -| -------- | -------- | -------- | -------- | -------- | -| width | Length | 0 | 否 | 椭圆所在矩形的宽度。 | -| height | Length | 0 | 否 | 椭圆所在矩形的高度。 | +仅支持以下属性: + +| 参数名称 | 参数类型 | 必填 | 参数描述 | +| -------- | -------- | -------- | -------- | +| width | Length | 否 | 椭圆所在矩形的宽度。 | +| height | Length | 否 | 椭圆所在矩形的高度。 | ## 示例 @@ -50,9 +42,9 @@ ellipse(options?: {width: Length, height: Length}) struct EllipseExample { build() { Flex({ justifyContent: FlexAlign.SpaceAround }) { - // 在一个 150 * 70 的矩形框中绘制一个椭圆 + // 在一个 150 * 80 的矩形框中绘制一个椭圆 Ellipse({ width: 150, height: 80 }) - // 在一个 150 * 70 的矩形框中绘制一个椭圆 + // 在一个 150 * 80 的矩形框中绘制一个椭圆 Ellipse().width(150).height(80) }.width('100%').margin({ top: 5 }) } diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-path.md b/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-path.md index baf16cb7ff..44c228b113 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-path.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-path.md @@ -3,14 +3,10 @@ 路径绘制组件,根据绘制路径生成封闭的自定义形状。 > **说明:** +> > 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -## 权限列表 - -无 - - ## 子组件 无 @@ -19,25 +15,23 @@ Path(value?: { width?: number | string; height?: number | string; commands?: string }) -- 参数 - - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | ---- | ------ | -------------------- | - | width | Length | 否 | 0 | 路径所在矩形的宽度 | - | height | Length | 否 | 0 | 路径所在矩形的高度 | - | commands | string | 是 | ‘ ’ | 路径绘制的命令字符串 | +**参数:** - +| 参数名 | 参数类型 | 必填 | 参数描述 | +| -------- | ---------------- | ---- | ----------------------------------- | +| width | number \| string | 否 | 路径所在矩形的宽度
默认值:0 | +| height | number \| string | 否 | 路径所在矩形的高度
默认值:0 | +| commands | string | 否 | 路径绘制的命令字符串
默认值:'' | ## 属性 -除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: +仅支持以下属性: -| 参数名称 | 参数类型 | 默认值 | 必填 | 参数描述 | -| -------- | ----------------------------------- | ---- | ---- | ---------------------------------------- | -| width | [Length](../../ui/ts-types.md#长度类型) | 0 | 否 | 路径所在矩形画布的宽度。 | -| height | [Length](../../ui/ts-types.md#长度类型) | 0 | 否 | 路径所在矩形画布的高度。 | -| commands | string | '' | 是 | 路径绘制的命令字符串,单位为px。像素单位转换方法请参考[像素单位转换](../../ui/ts-pixel-units.md)。 | +| 参数名称 | 参数类型 | 必填 | 参数描述 | +| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| width | [Length](../../ui/ts-types.md#长度类型) | 否 | 路径所在矩形画布的宽度。
默认值:0 | +| height | [Length](../../ui/ts-types.md#长度类型) | 否 | 路径所在矩形画布的高度。
默认值:0 | +| commands | string | 是 | 路径绘制的命令字符串,单位为px。像素单位转换方法请参考[像素单位转换](../../ui/ts-pixel-units.md)。
默认值:'' | commands支持的绘制命令如下: diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-matrix-transformation.md b/zh-cn/application-dev/reference/arkui-ts/ts-matrix-transformation.md index ff1d5c1bc7..366ba2766e 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-matrix-transformation.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-matrix-transformation.md @@ -3,6 +3,7 @@ 可对图形进行平移、旋转和缩放等。 > **说明:** +> > 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 @@ -13,125 +14,154 @@ import matrix4 from '@ohos.matrix4' ``` -## 权限列表 - -无 - - ## matrix4.init -init(array: Array<number>): Object +init(array: Array<number>): Matrix4Transit Matrix的构造函数,可以通过传入的参数创建一个四阶矩阵,矩阵为列优先。 +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------------------- | ---- | ------------------------------------------------------------ | +| array | Array<number> | 是 | 参数为长度为16(4\*4)的number数组, 详情见参数描述。
默认值:
[1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1] | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ---------------------------- | +| Matrix4Transit | 根据入参创建的四阶矩阵对象。 | + +**array参数说明:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---- | ------ | ---- | -------------------- | +| m00 | number | 是 | x轴缩放值,单位矩阵默认为1。 | +| m01 | number | 是 | 第2个值,xyz轴旋转会影响这个值。 | +| m02 | number | 是 | 第3个值,xyz轴旋转会影响这个值。 | +| m03 | number | 是 | 无实际意义。 | +| m10 | number | 是 | 第5个值,xyz轴旋转会影响这个值。 | +| m11 | number | 是 | y轴缩放值,单位矩阵默认为1。 | +| m12 | number | 是 | 第7个值,xyz轴旋转会影响这个值。 | +| m13 | number | 是 | 无实际意义。 | +| m20 | number | 是 | 第9个值,xyz轴旋转会影响这个值。 | +| m21 | number | 是 | 第10个值,xyz轴旋转会影响这个值。 | +| m22 | number | 是 | z轴缩放值,单位矩阵默认为1。 | +| m23 | number | 是 | 无实际意义。 | +| m30 | number | 是 | x轴平移值,单位px,单位矩阵默认为0。 | +| m31 | number | 是 | y轴平移值,单位px,单位矩阵默认为0。 | +| m32 | number | 是 | z轴平移值,单位px,单位矩阵默认为0。 | +| m33 | number | 是 | 齐次坐标下生效,产生透视投影效果。 | + +**示例** -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ----- | ------------------- | ---- | ---------------------------------------- | -------------------------------------- | - | array | Array<number> | 是 | [1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1] | 参数为长度为16(4\*4)的number数组, 详情见参数描述。 | - -- 返回值 - | 类型 | 说明 | - | ------ | -------------- | - | Object | 根据入参创建的四阶矩阵对象。 | - -- 参数描述 - | 参数名 | 类型 | 必填 | 说明 | - | ---- | ------ | ---- | -------------------- | - | m00 | number | 是 | x轴缩放值,单位矩阵默认为1。 | - | m01 | number | 是 | 第2个值,xyz轴旋转会影响这个值。 | - | m02 | number | 是 | 第3个值,xyz轴旋转会影响这个值。 | - | m03 | number | 是 | 无实际意义。 | - | m10 | number | 是 | 第5个值,xyz轴旋转会影响这个值。 | - | m11 | number | 是 | y轴缩放值,单位矩阵默认为1。 | - | m12 | number | 是 | 第7个值,xyz轴旋转会影响这个值。 | - | m13 | number | 是 | 无实际意义。 | - | m20 | number | 是 | 第9个值,xyz轴旋转会影响这个值。 | - | m21 | number | 是 | 第10个值,xyz轴旋转会影响这个值。 | - | m22 | number | 是 | z轴缩放值,单位矩阵默认为1。 | - | m23 | number | 是 | 无实际意义。 | - | m30 | number | 是 | x轴平移值,单位px,单位矩阵默认为0。 | - | m31 | number | 是 | y轴平移值,单位px,单位矩阵默认为0。 | - | m32 | number | 是 | z轴平移值,单位px,单位矩阵默认为0。 | - | m33 | number | 是 | 齐次坐标下生效,产生透视投影效果。 | - -- 示例 - ```ts - import Matrix4 from '@ohos.matrix4' - // 创建一个四阶矩阵 - let matrix = Matrix4.init([1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 0.0, - 0.0, 0.0, 0.0, 1.0]) - ``` +```ts +import matrix4 from '@ohos.matrix4' +// 创建一个四阶矩阵 +let matrix = matrix4.init([1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0]) +@Entry +@Component +struct Tests { + build() { + Column() { + Image($r("app.media.zh")) + .width("40%") + .height(100) + .transform(matrix) + } + } +} +``` ## matrix4.identity -identity(): Object +identity(): Matrix4Transit Matrix的初始化函数,可以返回一个单位矩阵对象。 +**返回值** -- 返回值 - | 类型 | 说明 | - | ------ | ------- | - | Object | 单位矩阵对象。 | +| 类型 | 说明 | +| -------------- | -------------- | +| Matrix4Transit | 单位矩阵对象。 | -- 示例 - ```ts - // matrix1 和 matrix2 效果一致 - import Matrix4 from '@ohos.matrix4' - let matrix = Matrix4.init([1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 0.0, - 0.0, 0.0, 0.0, 1.0]) - let matrix2 = Matrix4.identity() - ``` +**示例** + +```ts +// matrix1 和 matrix2 效果一致 +import matrix4 from '@ohos.matrix4' +let matrix1 = matrix4.init([1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0]) +let matrix2 = matrix4.identity() +@Entry +@Component +struct Tests { + build() { + Column() { + Image($r("app.media.zh")) + .width("40%") + .height(100) + .transform(matrix1) + Image($r("app.media.zh")) + .width("40%") + .height(100) + .margin({ top: 150 }) + .transform(matrix2) + } + } +} +``` ## matrix4.copy -copy(): Object +copy(): Matrix4Transit Matrix的拷贝函数,可以拷贝一份当前的矩阵对象。 +**返回值** + +| 类型 | 说明 | +| -------------- | -------------------- | +| Matrix4Transit | 当前矩阵的拷贝对象。 | + +**示例** -- 返回值 - | 类型 | 说明 | - | ------ | ---------- | - | Object | 当前矩阵的拷贝对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().translate({x:100}) - private matrix2 = this.matrix1.copy().scale({x:2}) - - build() { - Column() { - Image($r("app.media.bg1")) - .width("40%") - .height(100) - .transform(this.matrix1) - Image($r("app.media.bg2")) - .width("40%") - .height(100) - .margin({top:50}) - .transform(this.matrix2) - } +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +@Entry +@Component +struct Test { + private matrix1 = Matrix4.identity().translate({x:100}) + private matrix2 = this.matrix1.copy().scale({x:2}) + + build() { + Column() { + Image($r("app.media.bg1")) + .width("40%") + .height(100) + .transform(this.matrix1) + Image($r("app.media.bg2")) + .width("40%") + .height(100) + .margin({top:50}) + .transform(this.matrix2) } } - ``` +} +``` - ![zh-cn_image_0000001219744181](figures/zh-cn_image_0000001219744181.png) +![zh-cn_image_0000001219744181](figures/zh-cn_image_0000001219744181.png) ## Matrix4 @@ -139,201 +169,231 @@ Matrix的拷贝函数,可以拷贝一份当前的矩阵对象。 ### combine -combine(matrix: Matrix4): Object +combine(matrix: Matrix4): Matrix4Transit Matrix的叠加函数,可以将两个矩阵的效果叠加起来生成一个新的矩阵对象。 +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------- | ---- | ------------------ | +| matrix | Matrix4 | 是 | 待叠加的矩阵对象。 | -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ------ | ------- | ---- | ---- | --------- | - | matrix | Matrix4 | 是 | - | 待叠加的矩阵对象。 | - -- 返回值 - | 类型 | 说明 | - | ------ | --------- | - | Object | 矩阵叠加后的对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().translate({x:200}).copy() - private matrix2 = Matrix4.identity().scale({x:2}).copy() - - build() { - Column() { - // 先平移x轴100px,再缩放两倍x轴 - Image($r("app.media.bg1")).transform(this.matrix1.combine(this.matrix2)) - .width("40%") - .height(100) - .margin({top:50}) - } +**返回值** + +| 类型 | 说明 | +| -------------- | ------------------ | +| Matrix4Transit | 矩阵叠加后的对象。 | + +**示例** + +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +@Entry +@Component +struct Test { + private matrix1 = matrix4.identity().translate({x:200}).copy() + private matrix2 = matrix4.identity().scale({x:2}).copy() + + build() { + Column() { + // 矩阵变换前 + Image($r("app.media.icon")) + .width("40%") + .height(100) + .margin({top:50}) + // 先平移x轴200px,再缩放两倍x轴,得到矩阵变换后的效果图 + Image($r("app.media.icon")) + .transform(this.matrix1.combine(this.matrix2)) + .width("40%") + .height(100) + .margin({top:50}) } } - ``` +} +``` - ![zh-cn_image_0000001174582846](figures/zh-cn_image_0000001174582846.png) +![zh-cn_image_0000001118642902](figures/zh-cn_image_0000001118642902.png) ### invert -invert(): Object +invert(): Matrix4Transit Matrix的逆函数,可以返回一个当前矩阵对象的逆矩阵,即效果正好相反。 +**返回值** -- 返回值 - | 类型 | 说明 | - | ------ | ----------- | - | Object | 当前矩阵的逆矩阵对象。 | +| 类型 | 说明 | +| -------------- | ---------------------- | +| Matrix4Transit | 当前矩阵的逆矩阵对象。 | -- 示例 - ```ts - import Matrix4 from '@ohos.matrix4' - // matrix1(宽放大2倍) 和 matrix2(宽缩小2倍) 效果相反 - let matrix1 = Matrix4.identity().scale({x:2}) - let matrix2 = matrix1.invert() - ``` +**示例** + +```ts +import matrix4 from '@ohos.matrix4' +// matrix1(宽放大2倍) 和 matrix2(宽缩小2倍) 效果相反 +let matrix1 = matrix4.identity().scale({x:2}) +let matrix2 = matrix1.invert() +@Entry +@Component +struct Tests { + build() { + Column() { + Image($r("app.media.zh")) + .width(200) + .height(100) + .transform(matrix1) + .margin({ top: 100 }) + Image($r("app.media.zh")) + .width(200) + .height(100) + .margin({ top: 150 }) + .transform(matrix2) + } + } +} +``` ### translate -translate({x?: number, y?: number, z?: number}): Object +translate({x?: number, y?: number, z?: number}): Matrix4Transit Matrix的平移函数,可以为当前矩阵增加x轴/Y轴/Z轴平移效果。 +**参数** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------------------------- | +| x | number | 否 | x轴的平移距离,单位px。
默认值:0 | +| y | number | 否 | y轴的平移距离,单位px。
默认值:0 | +| z | number | 否 | z轴的平移距离,单位px。
默认值:0 | + +**返回值** + +| 类型 | 说明 | +| -------------- | ---------------------------- | +| Matrix4Transit | 增加好平移效果后的矩阵对象。 | -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ---- | ------ | ---- | ---- | ------------- | - | x | number | 否 | 0 | x轴的平移距离,单位px。 | - | y | number | 否 | 0 | y轴的平移距离,单位px。 | - | z | number | 否 | 0 | z轴的平移距离,单位px。 | - - -- 返回值 - | 类型 | 说明 | - | ------ | -------------- | - | Object | 增加好平移效果后的矩阵对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().translate({x:100, y:200, z:30}) - - build() { - Column() { - Image($r("app.media.bg1")).transform(this.matrix1) - .width("40%") - .height(100) - } +**示例** + +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +@Entry +@Component +struct Test { + private matrix1 = matrix4.identity().translate({x:100, y:200, z:30}) + + build() { + Column() { + Image($r("app.media.bg1")).transform(this.matrix1) + .width("40%") + .height(100) } } - ``` +} +``` - ![zh-cn_image_0000001219662645](figures/zh-cn_image_0000001219662645.png) +![zh-cn_image_0000001219662645](figures/zh-cn_image_0000001219662645.png) ### scale -scale({x?: number, y?: number, z?: number, centerX?: number, centerY?: number}): Object +scale({x?: number, y?: number, z?: number, centerX?: number, centerY?: number}): Matrix4Transit Matrix的缩放函数,可以为当前矩阵增加x轴/Y轴/Z轴缩放效果。 +**参数:** -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ------- | ------ | ---- | ---- | ---------- | - | x | number | 否 | 1 | x轴的缩放倍数。 | - | y | number | 否 | 1 | y轴的缩放倍数。 | - | z | number | 否 | 1 | z轴的缩放倍数。 | - | centerX | number | 否 | 0 | 变换中心点x轴坐标。 | - | centerY | number | 否 | 0 | 变换中心点y轴坐标。 | - - -- 返回值 - | 类型 | 说明 | - | ------ | -------------- | - | Object | 增加好缩放效果后的矩阵对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().scale({x:2, y:3, z:4, centerX:50, centerY:50}) - - build() { - Column() { - Image($r("app.media.bg1")).transform(this.matrix1) - .width("40%") - .height(100) - } +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------ | ---- | --------------------------------- | +| x | number | 否 | x轴的缩放倍数。
默认值:1 | +| y | number | 否 | y轴的缩放倍数。
默认值:1 | +| z | number | 否 | z轴的缩放倍数。
默认值:1 | +| centerX | number | 否 | 变换中心点x轴坐标。
默认值:0 | +| centerY | number | 否 | 变换中心点y轴坐标。
默认值:0 | + +**返回值** + +| 类型 | 说明 | +| -------------- | ---------------------------- | +| Matrix4Transit | 增加好缩放效果后的矩阵对象。 | + +**示例** + +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +@Entry +@Component +struct Test { + private matrix1 = matrix4.identity().scale({x:2, y:3, z:4, centerX:50, centerY:50}) + + build() { + Column() { + Image($r("app.media.bg1")).transform(this.matrix1) + .width("40%") + .height(100) } } - ``` +} +``` - ![zh-cn_image_0000001219864131](figures/zh-cn_image_0000001219864131.png) +![zh-cn_image_0000001219864131](figures/zh-cn_image_0000001219864131.png) ### rotate -rotate({x?: number, y?: number, z?: number, angle?: number, centerX?: Length, centerY?: Length}): Object +rotate({x?: number, y?: number, z?: number, angle?: number, centerX?: Length, centerY?: Length}): Matrix4Transit Matrix的旋转函数,可以为当前矩阵增加x轴/Y轴/Z轴旋转效果。 +**参数:** -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ------- | ------ | ---- | ---- | ---------- | - | x | number | 否 | 1 | 旋转轴向量x坐标。 | - | y | number | 否 | 1 | 旋转轴向量y坐标。 | - | z | number | 否 | 1 | 旋转轴向量z坐标。 | - | angle | number | 否 | 0 | 旋转角度。 | - | centerX | number | 否 | 0 | 变换中心点x轴坐标。 | - | centerY | number | 否 | 0 | 变换中心点y轴坐标。 | - - -- 返回值 - | 类型 | 说明 | - | ------ | -------------- | - | Object | 增加好旋转效果后的矩阵对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().rotate({x:1, y:1, z:2, angle:30}) - - build() { - Column() { - Image($r("app.media.bg1")).transform(this.matrix1) - .width("40%") - .height(100) - }.width("100%").margin({top:50}) - } +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------ | ---- | --------------------------------- | +| x | number | 否 | 旋转轴向量x坐标。
默认值:1 | +| y | number | 否 | 旋转轴向量y坐标。
默认值:1 | +| z | number | 否 | 旋转轴向量z坐标。
默认值:1 | +| angle | number | 否 | 旋转角度。
默认值:0 | +| centerX | number | 否 | 变换中心点x轴坐标。
默认值:0 | +| centerY | number | 否 | 变换中心点y轴坐标。
默认值:0 | + +**返回值** + +| 类型 | 说明 | +| -------------- | ---------------------------- | +| Matrix4Transit | 增加好旋转效果后的矩阵对象。 | + +**示例** + +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +@Entry +@Component +struct Test { + private matrix1 = matrix4.identity().rotate({x:1, y:1, z:2, angle:30}) + + build() { + Column() { + Image($r("app.media.bg1")).transform(this.matrix1) + .width("40%") + .height(100) + }.width("100%").margin({top:50}) } - ``` +} +``` - ![zh-cn_image_0000001174422898](figures/zh-cn_image_0000001174422898.png) +![zh-cn_image_0000001174422898](figures/zh-cn_image_0000001174422898.png) ### transformPoint @@ -343,38 +403,39 @@ transformPoint(point: Point): Point Matrix的坐标点转换函数,可以将当前的变换效果作用到一个坐标点上。 +**参数:** -- 参数 - | 参数名 | 类型 | 必填 | 默认值 | 说明 | - | ----- | ----- | ---- | ---- | --------- | - | point | Point | 是 | - | 需要转换的坐标点。 | - - -- 返回值 - | 类型 | 说明 | - | ----- | ---------------- | - | Point | 返回矩阵变换后的Point对象。 | - -- 示例 - ```ts - // xxx.ets - import Matrix4 from '@ohos.matrix4' - import prompt from '@system.prompt' - - @Entry - @Component - struct Test { - private matrix1 = Matrix4.identity().transformPoint([100, 10]) - - build() { - Column() { - Button("get Point") - .onClick(() => { - prompt.showToast({message:JSON.stringify(this.matrix1),duration:2000}) - }).backgroundColor(0x2788D9) - }.width("100%").padding(50) - } +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ----- | ---- | ------------------ | +| point | Point | 是 | 需要转换的坐标点。 | + +**返回值** + +| 类型 | 说明 | +| ----- | ---------------- | +| Point | 返回矩阵变换后的Point对象。 | + +**示例** + +```ts +// xxx.ets +import matrix4 from '@ohos.matrix4' +import prompt from '@system.prompt' + +@Entry +@Component +struct Test { + private matrix1 = matrix4.identity().transformPoint([100, 10]) + + build() { + Column() { + Button("get Point") + .onClick(() => { + prompt.showToast({message:JSON.stringify(this.matrix1),duration:2000}) + }).backgroundColor(0x2788D9) + }.width("100%").padding(50) } - ``` +} +``` - ![zh-cn_image_0000001219864133](figures/zh-cn_image_0000001219864133.gif) +![zh-cn_image_0000001219864133](figures/zh-cn_image_0000001219864133.gif) \ No newline at end of file diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md index 2bd3623df2..a75a053860 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md @@ -3,20 +3,16 @@ 组件的Z序,指明了该组件在堆叠组件中的位置。 > **说明:** -> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - - -## 权限列表 - -无 +> +> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 ## 属性 -| 名称 | 参数类型 | 默认值 | 描述 | -| -------- | -------- | -------- | -------- | -| zIndex | number | 0 | 同一容器中兄弟组件显示层级关系,z值越大,显示层级越高。 | +| 名称 | 参数类型 | 描述 | +| -------- | -------- | -------- | +| zIndex | number | 同一容器中兄弟组件显示层级关系。zIndex值越大,显示层级越高,即zIndex值大的组件会覆盖在zIndex值小的组件上方。 | ## 示例 -- GitLab