提交 f6e40eeb 编写于 作者: C CheungVane

Merge branch 'master' of https://gitee.com/openharmony/docs

...@@ -39,10 +39,12 @@ import faultLogger from '@ohos.faultLogger' ...@@ -39,10 +39,12 @@ import faultLogger from '@ohos.faultLogger'
| summary | string | 故障的概要 | | summary | string | 故障的概要 |
| fullLog | string | 故障日志全文 | | fullLog | string | 故障日志全文 |
## faultLogger.querySelfFaultLog ## faultLogger.querySelfFaultLog<sup>(deprecated)</sup>
querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;FaultLogInfo&gt;&gt;) : void querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;FaultLogInfo&gt;&gt;) : void
> **说明:** 从 API Version 9 开始废弃,建议使用[faultLogger.query](#faultloggerquery9)替代。
获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger **系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
...@@ -79,10 +81,12 @@ function queryFaultLogCallback(error, value) { ...@@ -79,10 +81,12 @@ function queryFaultLogCallback(error, value) {
faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback); faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
``` ```
## faultLogger.querySelfFaultLog ## faultLogger.querySelfFaultLog<sup>(deprecated)</sup>
querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&gt; querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&gt;
> **说明:** 从 API Version 9 开始废弃,建议使用[faultLogger.query](#faultloggerquery9-1)替代。
获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger **系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
...@@ -106,18 +110,125 @@ async function getLog() { ...@@ -106,18 +110,125 @@ async function getLog() {
let value = await faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH); let value = await faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH);
if (value) { if (value) {
console.info("value length is " + value.length); console.info("value length is " + value.length);
let len = value.length; let len = value.length;
for (let i = 0; i < len; i++) { for (let i = 0; i < len; i++) {
console.info("log: " + i); console.info("log: " + i);
console.info("Log pid: " + value[i].pid); console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid); console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type); console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp); console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason); console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module); console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary); console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog); console.info("Log text: " + value[i].fullLog);
} }
}
}
```
## faultLogger.query<sup>9+</sup>
query(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;FaultLogInfo&gt;&gt;) : void
获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
**错误码:**
以下错误码的详细介绍参见[ohos.faultLogger错误码](../errorcodes/errorcode-faultlogger.md)
| 错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
| --- | --- |
| 10600001 | The service is not running or broken |
**示例:**
```js
function queryFaultLogCallback(error, value) {
if (error) {
console.info('error is ' + error);
} else {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
}
try {
faultLogger.query(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
} catch (err) {
console.error(`code: ${err.code}, message: ${err.message}`);
}
```
## faultLogger.query<sup>9+</sup>
query(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&gt;
获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 <br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常 |
**错误码:**
以下错误码的详细介绍参见[ohos.faultLogger错误码](../errorcodes/errorcode-faultlogger.md)
| 错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
| --- | --- |
| 10600001 | The service is not running or broken |
**示例:**
```js
async function getLog() {
try {
let value = await faultLogger.query(faultLogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
} catch (err) {
console.error(`code: ${err.code}, message: ${err.message}`);
} }
} }
``` ```
...@@ -2536,6 +2536,8 @@ async function huksAbort() { ...@@ -2536,6 +2536,8 @@ async function huksAbort() {
表示错误码的枚举以及对应的错误信息, 错误码表示错误类型,错误信息展示错误详情。 表示错误码的枚举以及对应的错误信息, 错误码表示错误类型,错误信息展示错误详情。
关于错误码的具体信息,可在[错误码参考文档](../errorcodes/errorcode-huks.md)中查看。
**系统能力**:SystemCapability.Security.Huks **系统能力**:SystemCapability.Security.Huks
| 类型 | 名称 | 说明 | 错误码 | | 类型 | 名称 | 说明 | 错误码 |
...@@ -2559,87 +2561,6 @@ async function huksAbort() { ...@@ -2559,87 +2561,6 @@ async function huksAbort() {
| 内存不足 | HUKS_ERR_CODE_INSUFFICIENT_MEMORY | 内存不足。 | 12000014 | | 内存不足 | HUKS_ERR_CODE_INSUFFICIENT_MEMORY | 内存不足。 | 12000014 |
| 调用其他系统服务失败 | HUKS_ERR_CODE_CALL_SERVICE_FAILED | 调用其他系统服务失败。 | 12000015 | | 调用其他系统服务失败 | HUKS_ERR_CODE_CALL_SERVICE_FAILED | 调用其他系统服务失败。 | 12000015 |
错误信息:
| 类型 | 错误码 | ERROR MESSAGE | 错误信息 |
| ------------------------- | -------- | ------------------------------------------------------------ | ----------------------------------------- |
| 权限 | 201 | Check permission failed. User should request permission first. | 表示没有许可。 |
| 参数 | 401 | Argument is invalid. User should make sure using the correct value. | 表示无效的参数。 |
| 参数 | 401 | Input data is not sufficient. | 表示数据不足。 |
| 参数 | 401 | The buffer is too small. | 表示缓冲区太小。 |
| 参数 | 401 | Parameter is null. User should make sure using the correct value. | 表示空指针。 |
| 参数 | 401 | Public key is invalid. | 表示无效的公钥。 |
| 参数 | 401 | Key info is invalid. | 表示无效的密钥信息。 |
| 参数 | 401 | Queried param does not exist. | 表示参数不存在。 |
| 参数 | 401 | Root key material already exists. | 表示存在新的根密钥材料。 |
| 参数 | 401 | The format of wrapped key data is invalid. | 表示导入加密密钥时,密钥格式错误。 |
| 参数 | 401 | Check get auth type failed. User should add auth type in paramset. | 表示获取身份验证类型失败。 |
| 参数 | 401 | Check get challenge type failed. User should add challenge type in paramset. | 表示获取挑战值类型失败。 |
| 参数 | 401 | Check get access type failed. User should add access type in paramset. | 表示获取访问类型失败。 |
| 参数 | 401 | Check get auth token failed. User should add auth token in paramset. | 表示获取身份验证令牌失败。 |
| 参数 | 401 | Time out param is invalid. User should make sure using the correct value. | 表示超时参数无效 |
| 参数 | 401 | Auth type param is invalid. User should make sure using the correct value. | 表示身份验证类型参数无效。 |
| 参数 | 401 | Challenge type param is invalid. User should make sure using the correct value. | 表示挑战值类型参数无效。 |
| 参数 | 401 | Access type param is invalid. User should make sure using the correct value. | 表示访问类型参数无效。 |
| 参数 | 401 | Auth token param is invalid. User should make sure using the correct value. | 表示身份验证令牌参数无效。 |
| 参数 | 401 | Secure sign type param is invalid. User should make sure using the correct value. | 表示安全符号类型参数无效。 |
| 不支持的API | 801 | This api is not supported in current device. | 不支持的API。 |
| 不支持的功能/特性 | 12000001 | Feature is not support. Please make sure using the correct combination of params. | 功能特性不支持,请输入正确的参数组合。 |
| 不支持的功能/特性 | 12000001 | This user auth type is not supported in current device. | 表示不支持当前用户认证类型的访问控制。 |
| 缺少密钥算法参数 | 12000002 | Check get algorithm failed. User should add algorithm in paramset. | 表示检查获取 ALG 失败。 |
| 缺少密钥算法参数 | 12000002 | Check get key size failed. User should add key size in paramset. | 表示检查获取密钥大小失败。 |
| 缺少密钥算法参数 | 12000002 | Check get padding failed. User should add padding in paramset. | 表示检查获取填充失败。 |
| 缺少密钥算法参数 | 12000002 | Check get purpose failed. User should add purpose in paramset. | 表示检查获取目的失败。 |
| 缺少密钥算法参数 | 12000002 | Check get digest failed. User should add digest in paramset. | 表示检查获取摘要失败。 |
| 缺少密钥算法参数 | 12000002 | Check get mode failed. User should add mode in paramset. | 表示检查获取模式失败。 |
| 缺少密钥算法参数 | 12000002 | Check get nonce failed. User should add nonce in paramset. | 表示检查获取随机数失败。 |
| 缺少密钥算法参数 | 12000002 | Check get aad failed. User should add AAD in paramset. | 表示检查获取 AAD 失败。 |
| 缺少密钥算法参数 | 12000002 | Check get iv failed. User should add iv in paramset. | 表示检查 GET IV 失败。 |
| 缺少密钥算法参数 | 12000002 | Check get aead failed. User should add aead in paramset. | 表示检查获取 AE 标记失败。 |
| 缺少密钥算法参数 | 12000002 | Check get salt failed. User should add salt in paramset. | 表示检查获取SALT失败。 |
| 缺少密钥算法参数 | 12000002 | Check get iteration failed. User should add iteration in paramset. | 表示检查获取迭代失败。 |
| 无效密钥算法参数 | 12000003 | Algorithm param is invalid. User should make sure using the correct value. | 表示无效的算法。 |
| 无效密钥算法参数 | 12000003 | Key size param is invalid. User should make sure using the correct value. | 表示无效的密钥大小。 |
| 无效密钥算法参数 | 12000003 | Padding param is invalid. User should make sure using the correct value. | 表示无效的填充。 |
| 无效密钥算法参数 | 12000003 | Purpose param is invalid. User should make sure using the correct value. | 表示无效的目的。 |
| 无效密钥算法参数 | 12000003 | Mode param is invalid. User should make sure using the correct value. | 表示无效模式。 |
| 无效密钥算法参数 | 12000003 | Digest param is invalid. User should make sure using the correct value. | 表示无效的摘要。 |
| 无效密钥算法参数 | 12000003 | Signture size param is invalid. User should make sure using the correct value. | 表示签名大小无效。 |
| 无效密钥算法参数 | 12000003 | IV param is invalid. User should make sure using the correct value. | 表示无效的 IV。 |
| 无效密钥算法参数 | 12000003 | AAD param is invalid. User should make sure using the correct value. | 表示无效的 AAD。 |
| 无效密钥算法参数 | 12000003 | Nonce param is invalid. User should make sure using the correct value. | 表示无效的随机数。 |
| 无效密钥算法参数 | 12000003 | AE param is invalid. User should make sure using the correct value. | 表示无效的 AE 标签。 |
| 无效密钥算法参数 | 12000003 | Salt param is invalid. User should make sure using the correct value. | 表示无效SALT。 |
| 无效密钥算法参数 | 12000003 | Iteration param is invalid. User should make sure using the correct value. | 表示无效的迭代。 |
| 无效密钥算法参数 | 12000003 | Purpose param is invalid. User should make sure using the correct value. | 表示导入加密密钥时,密钥用途错误。 |
| 文件 | 12000004 | Storage space is insufficient. | 表示存储故障。 |
| 文件 | 12000004 | The value of file size is unexpected. | 表示文件大小失败。 |
| 文件 | 12000004 | Read file failed. | 表示读取文件失败。 |
| 文件 | 12000004 | Write file failed. | 表示写文件失败。 |
| 文件 | 12000004 | Remove file failed. | 表示删除文件失败。 |
| 文件 | 12000004 | Open file failed. | 表示打开文件失败。 |
| 文件 | 12000004 | Close file failed. | 表示关闭文件失败。 |
| 文件 | 12000004 | Make directory failed. | 表示创建目录失败。 |
| 文件 | 12000004 | Read key from file failed, for key fi哦呜le is invalid. | 表示无效的密钥文件。 |
| 通信 | 12000005 | Get message from IPC failed. | 表示IPC 信息失败。 |
| 通信 | 12000005 | IPC communication time out. | 表示通讯超时。 |
| 通信 | 12000005 | IPC init failed. | 表示IPC 初始化失败。 |
| 通信 | 12000005 | IPC async call failed. | IPC异步调用失败。 |
| 算法库操作失败 | 12000006 | Errors occured in crypto engine. | 表示CRYPTO ENGINE错误。 |
| 密钥访问失败-密钥访问失效 | 12000007 | This credential is already invalidated permanently. | 密钥访问失败-密钥访问失效 |
| 密钥访问失败-密钥认证失败 | 12000008 | Verify authtoken failed. | 密钥访问失败-密钥认证失败 |
| 密钥访问失败-密钥访问超时 | 12000009 | This authtoken is already timeout. | 密钥访问失败-密钥访问超时 |
| 密钥操作会话数已达上限 | 12000010 | The number of sessions has reached limit. | 密钥操作会话数已达上限。 |
| 目标对象不存在 | 12000011 | Queried entity does not exist. | 表示不存在。 |
| 外部错误 | 12000012 | General error. | 一般错误。 |
| 外部错误 | 12000012 | System error. | 系统错误。 |
| 外部错误 | 12000012 | System external error. | 表示系统外部错误。 |
| 缺失所需凭据 | 12000013 | Queried credential does not exist. | 查询的凭据不存在。 |
| 内存不足 | 12000014 | Memory is insufficient. | 表示内存不足。 |
| 内存不足 | 12000014 | Malloc failed. | 表示MALLOC 失败。 |
| 调用其他系统服务失败 | 12000015 | Calling useriam to get sec info failed. | 访问useriam获取当前用户安全属性信息失败。 |
| 调用其他系统服务失败 | 12000015 | Calling useriam to get auth info failed. | 访问useriam获取当前用户认证信息失败。 |
### HuksKeyPurpose ### HuksKeyPurpose
表示密钥用途。 表示密钥用途。
......
...@@ -340,7 +340,7 @@ try { ...@@ -340,7 +340,7 @@ try {
on(type: SensorId.HALL, callback: Callback&lt;HallResponse&gt;, options?: Options): void on(type: SensorId.HALL, callback: Callback&lt;HallResponse&gt;, options?: Options): void
订阅心率传感器数据。 订阅霍尔传感器数据。
**系统能力**:SystemCapability.Sensors.Sensor **系统能力**:SystemCapability.Sensors.Sensor
...@@ -446,7 +446,7 @@ try { ...@@ -446,7 +446,7 @@ try {
} }
``` ```
### LINEAR_ACCELERATION<sup>9+</sup> ### LINEAR_ACCELEROMETER<sup>9+</sup>
on(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback&lt;LinearAccelerometerResponse&gt;, on(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback&lt;LinearAccelerometerResponse&gt;,
options?: Options): void options?: Options): void
...@@ -799,7 +799,7 @@ try { ...@@ -799,7 +799,7 @@ try {
on(type: SensorId.WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;, on(type: SensorId.WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;,
options?: Options): void options?: Options): void
订阅磨损检测传感器数据。 订阅佩戴检测传感器数据。
**系统能力**:SystemCapability.Sensors.Sensor **系统能力**:SystemCapability.Sensors.Sensor
...@@ -1255,7 +1255,7 @@ try { ...@@ -1255,7 +1255,7 @@ try {
} }
``` ```
### LINEAR_ACCELERATION<sup>9+</sup> ### LINEAR_ACCELEROMETER<sup>9+</sup>
once(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback&lt;LinearAccelerometerResponse&gt;): void once(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback&lt;LinearAccelerometerResponse&gt;): void
...@@ -1603,7 +1603,7 @@ try { ...@@ -1603,7 +1603,7 @@ try {
once(type: SensorId.WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;): void once(type: SensorId.WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;): void
订阅一次磨损检测传感器数据。 订阅一次佩戴检测传感器数据。
**系统能力**:SystemCapability.Sensors.Sensor **系统能力**:SystemCapability.Sensors.Sensor
...@@ -2244,7 +2244,7 @@ try { ...@@ -2244,7 +2244,7 @@ try {
off(type: SensorId.WEAR_DETECTION, callback?: Callback&lt;WearDetectionResponse&gt;): void off(type: SensorId.WEAR_DETECTION, callback?: Callback&lt;WearDetectionResponse&gt;): void
取消订阅磨损检测传感器数据。 取消订阅佩戴检测传感器数据。
**系统能力**:SystemCapability.Sensors.Sensor **系统能力**:SystemCapability.Sensors.Sensor
...@@ -3637,7 +3637,7 @@ on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Line ...@@ -3637,7 +3637,7 @@ on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Line
监听线性加速度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。 监听线性加速度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。
从API version 9 开始不再维护,建议使用[sensor.on.LINEAR_ACCELEROMETER](#linear_accelerometer9)代替。 从API version 9 开始不再维护,建议使用[sensor.on.LINEAR_ACCELEROMETER](#linear_accelerometer9)代替。
**需要权限**:ohos.permission.ACCELEROMETER **需要权限**:ohos.permission.ACCELEROMETER
...@@ -3651,36 +3651,6 @@ on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Line ...@@ -3651,36 +3651,6 @@ on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Line
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 | | callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
| options | [Options](#options) | 否 | 可选参数列表,设置上报频率,默认值为200000000ns。 | | options | [Options](#options) | 否 | 可选参数列表,设置上报频率,默认值为200000000ns。 |
### LINEAR_ACCELEROMETER<sup>9+</sup>
on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;LinearAccelerometerResponse&gt;,
options?: Options): void
监听线性加速度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。
**需要权限**:ohos.permission.ACCELEROMETER
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 要订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELEROMETER。 |
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
| options | [Options](#options) | 否 | 可选参数列表,设置上报频率,默认值为200000000ns。 |
**示例:**
```js
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER,function(data){
console.info('X-coordinate component: ' + data.x);
console.info('Y-coordinate component: ' + data.y);
console.info('Z-coordinate component: ' + data.z);
},
{interval: 10000000}
);
```
### ACCELEROMETER_UNCALIBRATED<sup>(deprecated)</sup> ### ACCELEROMETER_UNCALIBRATED<sup>(deprecated)</sup>
on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback&lt;AccelerometerUncalibratedResponse&gt;, options?: Options): void on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback&lt;AccelerometerUncalibratedResponse&gt;, options?: Options): void
...@@ -4157,7 +4127,7 @@ on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateRe ...@@ -4157,7 +4127,7 @@ on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateRe
监听心率传感器数据变化一次。 监听心率传感器数据变化一次。
从API version 9 开始不再维护,建议使用[sensor.on.HEART_BEAT_RATE](#heart_beat_rate9)代替。 从API version 9 开始不再维护,建议使用[sensor.on.HEART_RATE](#heart_rate9)代替。
**需要权限**:ohos.permission.HEALTH_DATA **需要权限**:ohos.permission.HEALTH_DATA
...@@ -4170,34 +4140,6 @@ on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateRe ...@@ -4170,34 +4140,6 @@ on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateRe
| type | [SensorType](#sensortype) | 是 | 要订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 | | type | [SensorType](#sensortype) | 是 | 要订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 | | callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
### HEART_BEAT_RATE<sup>9+</sup>
on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateResponse&gt;,
options?: Options): void
监听心率传感器数据变化一次。
**需要权限**:ohos.permission.HEALTH_DATA
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 要订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_BEAT_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
**示例:**
```js
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE,function(data){
console.info("Heart rate: " + data.heartRate);
},
{interval: 10000000}
);
```
### ROTATION_VECTOR<sup>(deprecated)</sup> ### ROTATION_VECTOR<sup>(deprecated)</sup>
on(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,callback: Callback&lt;RotationVectorResponse&gt;,options?: Options): void on(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,callback: Callback&lt;RotationVectorResponse&gt;,options?: Options): void
...@@ -4292,7 +4234,7 @@ once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Li ...@@ -4292,7 +4234,7 @@ once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Li
监听线性加速度传感器数据变化一次。 监听线性加速度传感器数据变化一次。
从API version 9 开始不再维护,建议使用[sensor.once.LINEAR_ACCELEROMETER](#linear_accelerometer9)代替。 从API version 9 开始不再维护,建议使用[sensor.once.LINEAR_ACCELEROMETER](#linear_accelerometer9-1)代替。
**需要权限**:ohos.permission.ACCELERATION **需要权限**:ohos.permission.ACCELERATION
...@@ -4305,33 +4247,6 @@ once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Li ...@@ -4305,33 +4247,6 @@ once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;Li
| type | [SensorType](#sensortype) | 是 | 线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。 | | type | [SensorType](#sensortype) | 是 | 线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。 |
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册一次线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 | | callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册一次线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
### LINEAR_ACCELEROMETER<sup>9+</sup>
once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback&lt;LinearAccelerometerResponse&gt;): void
订阅一次线性加速度传感器数据。
**需要权限**:ohos.permission.ACCELERATION
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELEROMETER。 |
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 注册一次线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
**示例:**
```js
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER, function(data) {
console.info('X-coordinate component: ' + data.x);
console.info('Y-coordinate component: ' + data.y);
console.info('Z-coordinate component: ' + data.z);
}
);
```
### ACCELEROMETER_UNCALIBRATED<sup>(deprecated)</sup> ### ACCELEROMETER_UNCALIBRATED<sup>(deprecated)</sup>
once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback&lt;AccelerometerUncalibratedResponse&gt;): void once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback&lt;AccelerometerUncalibratedResponse&gt;): void
...@@ -4800,7 +4715,7 @@ once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRate ...@@ -4800,7 +4715,7 @@ once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRate
监听心率传感器数据变化一次。 监听心率传感器数据变化一次。
从API version 9 开始不再维护,建议使用[sensor.once.HEART_BEAT_RATE](#heart_beat_rate9)代替。 从API version 9 开始不再维护,建议使用[sensor.once.HEART_RATE](#heart_rate9-1)代替。
**需要权限**:ohos.permission.HEART_RATE **需要权限**:ohos.permission.HEART_RATE
...@@ -4813,32 +4728,6 @@ once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRate ...@@ -4813,32 +4728,6 @@ once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRate
| type | [SensorType](#sensortype) | 是 | 心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 | | type | [SensorType](#sensortype) | 是 | 心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 | | callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
### HEART_BEAT_RATE<sup>9+</sup>
once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback&lt;HeartRateResponse&gt;): void
订阅一次心率传感器数据。
**需要权限**:ohos.permission.HEART_RATE
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 心率传感器类型为SENSOR_TYPE_ID_HEART_BEAT_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
**示例:**
```js
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE, function(data) {
console.info("Heart rate: " + data.heartRate);
}
);
```
### WEAR_DETECTION<sup>(deprecated)</sup> ### WEAR_DETECTION<sup>(deprecated)</sup>
once(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;): void once(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback&lt;WearDetectionResponse&gt;): void
...@@ -5127,7 +5016,7 @@ off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback&lt;HeartRate ...@@ -5127,7 +5016,7 @@ off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback&lt;HeartRate
取消订阅传感器数据。 取消订阅传感器数据。
从API version 9 开始不再维护,建议使用[sensor.off.HEART_BEAT_RATE](#heart_beat_rate9)代替。 从API version 9 开始不再维护,建议使用[sensor.off.HEART_RATE](#heart_rate9-2)代替。
**需要权限**:ohos.permission.HEALTH_DATA **需要权限**:ohos.permission.HEALTH_DATA
...@@ -5140,32 +5029,6 @@ off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback&lt;HeartRate ...@@ -5140,32 +5029,6 @@ off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback&lt;HeartRate
| type | [SensorType](#sensortype) | 是 | 要取消订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 | | type | [SensorType](#sensortype) | 是 | 要取消订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 取消注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 | | callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 取消注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
### HEART_BEAT_RATE<sup>9+</sup>
off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback&lt;HeartRateResponse&gt;): void
取消订阅传感器数据。
**需要权限**:ohos.permission.HEALTH_DATA
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 要取消订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_BEAT_RATE。 |
| callback | Callback&lt;[HeartRateResponse](#heartrateresponse)&gt; | 是 | 取消注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。 |
**示例:**
```js
function callback(data) {
console.info("Heart rate: " + data.heartRate);
}
sensor.off(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE, callback);
```
### HUMIDITY<sup>(deprecated)</sup> ### HUMIDITY<sup>(deprecated)</sup>
off(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback?: Callback&lt;HumidityResponse&gt;): void off(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback?: Callback&lt;HumidityResponse&gt;): void
...@@ -5198,7 +5061,7 @@ off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback&lt; ...@@ -5198,7 +5061,7 @@ off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback&lt;
取消订阅传感器数据。 取消订阅传感器数据。
从API version 9 开始不再维护,建议使用[sensor.off.LINEAR_ACCELEROMETER](#linear_accelerometer9)代替。 从API version 9 开始不再维护,建议使用[sensor.off.LINEAR_ACCELEROMETER](#linear_accelerometer9-2)代替。
**需要权限**:ohos.permission.ACCELEROMETER **需要权限**:ohos.permission.ACCELEROMETER
...@@ -5211,34 +5074,6 @@ off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback&lt; ...@@ -5211,34 +5074,6 @@ off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback&lt;
| type | [SensorType](#sensortype) | 是 | 要取消订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。 | | type | [SensorType](#sensortype) | 是 | 要取消订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。 |
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 取消注册性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 | | callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 取消注册性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
### LINEAR_ACCELEROMETER<sup>9+</sup>
off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback?:Callback&lt;LinearAccelerometerResponse&gt;): void
取消订阅传感器数据。
**需要权限**:ohos.permission.ACCELEROMETER
**系统能力**:SystemCapability.Sensors.Sensor
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype) | 是 | 要取消订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELEROMETER。 |
| callback | Callback&lt;[LinearAccelerometerResponse](#linearaccelerometerresponse)&gt; | 是 | 取消注册性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。 |
**示例:**
```js
function callback(data) {
console.info('X-coordinate component: ' + data.x);
console.info('Y-coordinate component: ' + data.y);
console.info('Z-coordinate component: ' + data.z);
}
sensor.off(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER, callback);
```
### MAGNETIC_FIELD<sup>(deprecated)</sup> ### MAGNETIC_FIELD<sup>(deprecated)</sup>
off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback?: Callback&lt;MagneticFieldResponse&gt;): void off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback?: Callback&lt;MagneticFieldResponse&gt;): void
......
...@@ -66,12 +66,12 @@ import window from '@ohos.window'; ...@@ -66,12 +66,12 @@ import window from '@ohos.window';
**系统能力:** SystemCapability.WindowManager.WindowManager.Core **系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 值 | 说明 | | 名称 | 值 | 说明 |
|----------------------------------|-----| ----------------- | | -------------------------------- | ---- | ------------------------------------------------------------ |
| TYPE_SYSTEM | 0 | 表示系统默认区域。| | TYPE_SYSTEM | 0 | 表示系统默认区域。一般包括状态栏、导航栏和Dock栏,各设备系统定义可能不同。 |
| TYPE_CUTOUT | 1 | 表示刘海屏区域。 | | TYPE_CUTOUT | 1 | 表示刘海屏区域。 |
| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2 | 表示手势区域。 | | TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2 | 表示手势区域。 |
| TYPE_KEYBOARD<sup>9+</sup> | 3 | 表示软键盘区域。 | | TYPE_KEYBOARD<sup>9+</sup> | 3 | 表示软键盘区域。 |
## WindowMode<sup>7+</sup> ## WindowMode<sup>7+</sup>
...@@ -108,14 +108,14 @@ import window from '@ohos.window'; ...@@ -108,14 +108,14 @@ import window from '@ohos.window';
**系统能力:** SystemCapability.WindowManager.WindowManager.Core **系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 必填 | 说明 |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ | | -------------------------------------- | -------- | ---- | ---- | ---- | ------------------------------------------------------------ |
| statusBarColor | string | 否 | 是 | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 | | statusBarColor | string | 否 | 是 | 否 | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000`。 |
| isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。 | | isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 否 | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 状态栏文字颜色。 | | statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 否 | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
| navigationBarColor | string | 否 | 是 | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00` | | navigationBarColor | string | 否 | 是 | 否 | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000。` |
| isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。 | | isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 否 | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 导航栏文字颜色。 | | navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 否 | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
## Orientation<sup>9+</sup> ## Orientation<sup>9+</sup>
...@@ -2082,9 +2082,6 @@ setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: ...@@ -2082,9 +2082,6 @@ setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback:
let SystemBarProperties={ let SystemBarProperties={
statusBarColor: '#ff00ff', statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00', navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff', statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
...@@ -2137,9 +2134,6 @@ setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise& ...@@ -2137,9 +2134,6 @@ setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&
let SystemBarProperties={ let SystemBarProperties={
statusBarColor: '#ff00ff', statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00', navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff', statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
...@@ -2339,7 +2333,7 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void ...@@ -2339,7 +2333,7 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 | | storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:** **错误码:**
...@@ -2390,7 +2384,7 @@ loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt; ...@@ -2390,7 +2384,7 @@ loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 | | storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
**返回值:** **返回值:**
...@@ -4878,9 +4872,6 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: Async ...@@ -4878,9 +4872,6 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: Async
let SystemBarProperties={ let SystemBarProperties={
statusBarColor: '#ff00ff', statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00', navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff', statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
...@@ -4924,9 +4915,6 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;voi ...@@ -4924,9 +4915,6 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;voi
let SystemBarProperties={ let SystemBarProperties={
statusBarColor: '#ff00ff', statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00', navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff', statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
...@@ -6197,7 +6185,7 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void ...@@ -6197,7 +6185,7 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 | | storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:** **错误码:**
...@@ -6249,7 +6237,7 @@ loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt; ...@@ -6249,7 +6237,7 @@ loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 否 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 | | storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 否 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
**返回值:** **返回值:**
......
...@@ -132,12 +132,12 @@ ...@@ -132,12 +132,12 @@
- 画布组件 - 画布组件
- [Canvas](ts-components-canvas-canvas.md) - [Canvas](ts-components-canvas-canvas.md)
- [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md) - [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md)
- [OffscreenCanvasRenderingContext2D对象](ts-offscreencanvasrenderingcontext2d.md)
- [Lottie](ts-components-canvas-lottie.md)
- [Path2D对象](ts-components-canvas-path2d.md)
- [CanvasGradient对象](ts-components-canvas-canvasgradient.md) - [CanvasGradient对象](ts-components-canvas-canvasgradient.md)
- [ImageBitmap对象](ts-components-canvas-imagebitmap.md) - [ImageBitmap对象](ts-components-canvas-imagebitmap.md)
- [ImageData对象](ts-components-canvas-imagedata.md) - [ImageData对象](ts-components-canvas-imagedata.md)
- [OffscreenCanvasRenderingContext2D对象](ts-offscreencanvasrenderingcontext2d.md)
- [Path2D对象](ts-components-canvas-path2d.md)
- [Lottie](ts-components-canvas-lottie.md)
- 动画 - 动画
......
# CanvasRenderingContext2D对象 # CanvasRenderingContext2D对象
使用RenderingContext在Canvas组件上进行绘制,绘制对象可以是矩形、文本、图片等。
> **说明:** > **说明:**
> >
> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
使用RenderingContext在Canvas组件上进行绘制,绘制对象可以是矩形、文本、图片等。
## 接口 ## 接口
...@@ -723,6 +723,7 @@ strokeRect(x: number, y: number, w: number, h: number): void ...@@ -723,6 +723,7 @@ strokeRect(x: number, y: number, w: number, h: number): void
struct StrokeRect { struct StrokeRect {
private settings: RenderingContextSettings = new RenderingContextSettings(true); private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -766,6 +767,7 @@ clearRect(x: number, y: number, w: number, h: number): void ...@@ -766,6 +767,7 @@ clearRect(x: number, y: number, w: number, h: number): void
struct ClearRect { struct ClearRect {
private settings: RenderingContextSettings = new RenderingContextSettings(true); private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -774,8 +776,8 @@ clearRect(x: number, y: number, w: number, h: number): void ...@@ -774,8 +776,8 @@ clearRect(x: number, y: number, w: number, h: number): void
.backgroundColor('#ffffff') .backgroundColor('#ffffff')
.onReady(() =>{ .onReady(() =>{
this.context.fillStyle = 'rgb(0,0,255)' this.context.fillStyle = 'rgb(0,0,255)'
this.context.fillRect(0,0,500,500) this.context.fillRect(20,20,200,200)
this.context.clearRect(20,20,150,100) this.context.clearRect(30,30,150,100)
}) })
} }
.width('100%') .width('100%')
...@@ -811,6 +813,7 @@ fillText(text: string, x: number, y: number, maxWidth?: number): void ...@@ -811,6 +813,7 @@ fillText(text: string, x: number, y: number, maxWidth?: number): void
struct FillText { struct FillText {
private settings: RenderingContextSettings = new RenderingContextSettings(true); private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -855,6 +858,7 @@ strokeText(text: string, x: number, y: number, maxWidth?:number): void ...@@ -855,6 +858,7 @@ strokeText(text: string, x: number, y: number, maxWidth?:number): void
struct StrokeText { struct StrokeText {
private settings: RenderingContextSettings = new RenderingContextSettings(true); private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -923,6 +927,7 @@ measureText(text: string): TextMetrics ...@@ -923,6 +927,7 @@ measureText(text: string): TextMetrics
struct MeasureText { struct MeasureText {
private settings: RenderingContextSettings = new RenderingContextSettings(true); private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings); private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -975,6 +980,8 @@ stroke(path?: Path2D): void ...@@ -975,6 +980,8 @@ stroke(path?: Path2D): void
.onReady(() =>{ .onReady(() =>{
this.context.moveTo(25, 25) this.context.moveTo(25, 25)
this.context.lineTo(25, 105) this.context.lineTo(25, 105)
this.context.lineTo(75, 105)
this.context.lineTo(75, 25)
this.context.strokeStyle = 'rgb(0,0,255)' this.context.strokeStyle = 'rgb(0,0,255)'
this.context.stroke() this.context.stroke()
}) })
...@@ -1437,7 +1444,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number ...@@ -1437,7 +1444,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.context.beginPath() this.context.beginPath()
this.context.ellipse(200, 200, 50, 100, Math.PI * 0.25, Math.PI * 0.5, Math.PI) this.context.ellipse(200, 200, 50, 100, Math.PI * 0.25, Math.PI * 0.5, Math.PI * 2)
this.context.stroke() this.context.stroke()
}) })
} }
...@@ -1618,11 +1625,11 @@ clip(fillRule?: CanvasFillRule): void ...@@ -1618,11 +1625,11 @@ clip(fillRule?: CanvasFillRule): void
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.context.rect(0, 0, 200, 200) this.context.rect(0, 0, 100, 200)
this.context.stroke() this.context.stroke()
this.context.clip() this.context.clip()
this.context.fillStyle = "rgb(255,0,0)" this.context.fillStyle = "rgb(255,0,0)"
this.context.fillRect(0, 0, 150, 150) this.context.fillRect(0, 0, 200, 200)
}) })
} }
.width('100%') .width('100%')
...@@ -1636,7 +1643,7 @@ clip(fillRule?: CanvasFillRule): void ...@@ -1636,7 +1643,7 @@ clip(fillRule?: CanvasFillRule): void
clip(path: Path2D, fillRule?: CanvasFillRule): void clip(path: Path2D, fillRule?: CanvasFillRule): void
对封闭路径进行填充。该接口为空接口。 设置当前路径为剪切路径
**参数:** **参数:**
...@@ -1646,6 +1653,38 @@ clip(path: Path2D, fillRule?: CanvasFillRule): void ...@@ -1646,6 +1653,38 @@ clip(path: Path2D, fillRule?: CanvasFillRule): void
| fillRule | CanvasFillRule | 否 | "nonzero" | 指定要剪切对象的规则。<br/>可选参数为:"nonzero", "evenodd"。 | | fillRule | CanvasFillRule | 否 | "nonzero" | 指定要剪切对象的规则。<br/>可选参数为:"nonzero", "evenodd"。 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct Clip {
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)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let region = new Path2D();
region.rect(80,10,20,130);
region.rect(40,50,100,50);
this.context.clip(region,"evenodd")
this.context.fillStyle = "rgb(255,0,0)"
this.context.fillRect(0, 0, this.context.width, this.context.height)
})
}
.width('100%')
.height('100%')
}
}
```
![zh-cn_image_000000127777779](figures/zh-cn_image_000000127777779.png)
### filter ### filter
...@@ -1753,9 +1792,10 @@ scale(x: number, y: number): void ...@@ -1753,9 +1792,10 @@ scale(x: number, y: number): void
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.context.strokeRect(10, 10, 25, 25) this.context.lineWidth = 3
this.context.strokeRect(30, 30, 50, 50)
this.context.scale(2, 2) // Scale to 200% this.context.scale(2, 2) // Scale to 200%
this.context.strokeRect(10, 10, 25, 25) this.context.strokeRect(30, 30, 50, 50)
}) })
} }
.width('100%') .width('100%')
...@@ -1985,7 +2025,7 @@ drawImage(image: ImageBitmap | PixelMap, sx: number, sy: number, sw: number, sh: ...@@ -1985,7 +2025,7 @@ drawImage(image: ImageBitmap | PixelMap, sx: number, sy: number, sw: number, sh:
createImageData(sw: number, sh: number): ImageData createImageData(sw: number, sh: number): ImageData
创建新的ImageData 对象,请参考[ImageData](ts-components-canvas-imagebitmap.md) 创建新的ImageData 对象,请参考[ImageData](ts-components-canvas-imagedata.md)
**参数:** **参数:**
...@@ -1995,23 +2035,21 @@ createImageData(sw: number, sh: number): ImageData ...@@ -1995,23 +2035,21 @@ createImageData(sw: number, sh: number): ImageData
| sh | number | 是 | 0 | ImageData的高度。 | | sh | number | 是 | 0 | ImageData的高度。 |
### createImageData
createImageData(imageData: ImageData): ImageData createImageData(imageData: ImageData): ImageData
创建新的ImageData 对象,请参考[ImageData](ts-components-canvas-imagebitmap.md) 创建新的ImageData 对象,请参考[ImageData](ts-components-canvas-imagedata.md)
**参数:** **参数:**
| 参数 | 类型 | 必填 | 默认 | 描述 | | 参数 | 类型 | 必填 | 默认 | 描述 |
| --------- | ---------------------------------------- | ---- | ---- | ----------------- | | --------- | ---------------------------------------- | ---- | ---- | ----------------- |
| imagedata | [ImageData](ts-components-canvas-imagebitmap.md) | 是 | null | 复制现有的ImageData对象。 | | imagedata | [ImageData](ts-components-canvas-imagedata.md) | 是 | null | 复制现有的ImageData对象。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------------------------- | -------------- | | ---------------------------------------- | -------------- |
| [ImageData](ts-components-canvas-imagebitmap.md) | 新的ImageData对象。 | | [ImageData](ts-components-canvas-imagedata.md) | 新的ImageData对象。 |
### getPixelMap ### getPixelMap
...@@ -2039,7 +2077,7 @@ getPixelMap(sx: number, sy: number, sw: number, sh: number): PixelMap ...@@ -2039,7 +2077,7 @@ getPixelMap(sx: number, sy: number, sw: number, sh: number): PixelMap
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData getImageData(sx: number, sy: number, sw: number, sh: number): ImageData
以当前canvas指定区域内的像素创建[ImageData](ts-components-canvas-imagebitmap.md)对象。 以当前canvas指定区域内的像素创建[ImageData](ts-components-canvas-imagedata.md)对象。
**参数:** **参数:**
...@@ -2054,7 +2092,39 @@ getImageData(sx: number, sy: number, sw: number, sh: number): ImageData ...@@ -2054,7 +2092,39 @@ getImageData(sx: number, sy: number, sw: number, sh: number): ImageData
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------------------------- | -------------- | | ---------------------------------------- | -------------- |
| [ImageData](ts-components-canvas-imagebitmap.md) | 新的ImageData对象。 | | [ImageData](ts-components-canvas-imagedata.md) | 新的ImageData对象。 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct GetImageData {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private img:ImageBitmap = new ImageBitmap("/common/images/1234.png")
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
this.context.drawImage(this.img,0,0,130,130);
var imagedata = this.context.getImageData(50,50,130,130);
this.context.putImageData(imagedata,150,150);
})
}
.width('100%')
.height('100%')
}
}
```
![zh-cn_image_000000127777780](figures/zh-cn_image_000000127777780.png)
### putImageData ### putImageData
...@@ -2063,13 +2133,13 @@ putImageData(imageData: ImageData, dx: number, dy: number): void ...@@ -2063,13 +2133,13 @@ putImageData(imageData: ImageData, dx: number, dy: number): void
putImageData(imageData: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void putImageData(imageData: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void
使用[ImageData](ts-components-canvas-imagebitmap.md)数据填充新的矩形区域。 使用[ImageData](ts-components-canvas-imagedata.md)数据填充新的矩形区域。
**参数:** **参数:**
| 参数 | 类型 | 必填 | 默认值 | 描述 | | 参数 | 类型 | 必填 | 默认值 | 描述 |
| ----------- | ---------------------------------------- | ---- | ------------ | ----------------------------- | | ----------- | ---------------------------------------- | ---- | ------------ | ----------------------------- |
| imagedata | [ImageData](ts-components-canvas-imagebitmap.md) | 是 | null | 包含像素值的ImageData对象。 | | imagedata | [ImageData](ts-components-canvas-imagedata.md) | 是 | null | 包含像素值的ImageData对象。 |
| dx | number | 是 | 0 | 填充区域在x轴方向的偏移量。 | | dx | number | 是 | 0 | 填充区域在x轴方向的偏移量。 |
| dy | number | 是 | 0 | 填充区域在y轴方向的偏移量。 | | dy | number | 是 | 0 | 填充区域在y轴方向的偏移量。 |
| dirtyX | number | 否 | 0 | 源图像数据矩形裁切范围左上角距离源图像左上角的x轴偏移量。 | | dirtyX | number | 否 | 0 | 源图像数据矩形裁切范围左上角距离源图像左上角的x轴偏移量。 |
...@@ -2144,6 +2214,7 @@ setLineDash(segments: number[]): void ...@@ -2144,6 +2214,7 @@ setLineDash(segments: number[]): void
.onReady(() =>{ .onReady(() =>{
this.context.arc(100, 75, 50, 0, 6.28) this.context.arc(100, 75, 50, 0, 6.28)
this.context.setLineDash([10,20]) this.context.setLineDash([10,20])
this.context.stroke()
}) })
} }
.width('100%') .width('100%')
...@@ -2167,24 +2238,34 @@ getLineDash(): number[] ...@@ -2167,24 +2238,34 @@ getLineDash(): number[]
| -------- | ------------------------ | | -------- | ------------------------ |
| number[] | 返回数组,该数组用来描述线段如何交替和间距长度。 | | number[] | 返回数组,该数组用来描述线段如何交替和间距长度。 |
**示例:** **示例:**
```ts ```ts
// xxx.ets // xxx.ets
@Entry @Entry
@Component @Component
struct GetLineDash { struct CanvasGetLineDash {
private settings: RenderingContextSettings = new RenderingContextSettings(true) @State message: string = 'Hello World'
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 }) { build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(()=>{
console.error('before getlinedash clicked')
let res = this.context.getLineDash()
console.error(JSON.stringify(res))
})
Canvas(this.context) Canvas(this.context)
.width('100%') .width('100%')
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() => {
var grad = this.context.createLinearGradient(50,0, 300,100)
this.context.arc(100, 75, 50, 0, 6.28) this.context.arc(100, 75, 50, 0, 6.28)
this.context.setLineDash([10,20]) this.context.setLineDash([10,20])
this.context.stroke(); this.context.stroke();
...@@ -2192,10 +2273,13 @@ getLineDash(): number[] ...@@ -2192,10 +2273,13 @@ getLineDash(): number[]
}) })
} }
.width('100%') .width('100%')
.height('100%')
} }
.height('100%')
} }
}
``` ```
![zh-cn_image_000000127777778](figures/zh-cn_image_000000127777778.png)
### imageSmoothingQuality ### imageSmoothingQuality
...@@ -2222,7 +2306,7 @@ transferFromImageBitmap(bitmap: ImageBitmap): void ...@@ -2222,7 +2306,7 @@ transferFromImageBitmap(bitmap: ImageBitmap): void
| 参数 | 类型 | 描述 | | 参数 | 类型 | 描述 |
| ------ | ---------------------------------------- | ------------------ | | ------ | ---------------------------------------- | ------------------ |
| bitmap | [ImageData](ts-components-canvas-imagebitmap.md) | 待显示的ImageBitmap对象。 | | bitmap | [ImageBitmap](ts-components-canvas-imagebitmap.md) | 待显示的ImageBitmap对象。 |
**示例:** **示例:**
...@@ -2230,7 +2314,7 @@ transferFromImageBitmap(bitmap: ImageBitmap): void ...@@ -2230,7 +2314,7 @@ transferFromImageBitmap(bitmap: ImageBitmap): void
// xxx.ets // xxx.ets
@Entry @Entry
@Component @Component
struct PutImageData { struct TransferFromImageBitmap {
private settings: RenderingContextSettings = new RenderingContextSettings(true) private settings: RenderingContextSettings = new RenderingContextSettings(true)
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings) private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings)
...@@ -2259,7 +2343,8 @@ transferFromImageBitmap(bitmap: ImageBitmap): void ...@@ -2259,7 +2343,8 @@ transferFromImageBitmap(bitmap: ImageBitmap): void
} }
} }
``` ```
![zh-cn_image_000000127777773](figures/zh-cn_image_000000127777773.png) ![zh-cn_image_0000001238952387](figures/zh-cn_image_0000001238952387.png)
### toDataURL ### toDataURL
...@@ -2330,7 +2415,11 @@ restore(): void ...@@ -2330,7 +2415,11 @@ restore(): void
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.context.restore() this.context.save(); // save the default state
this.context.fillStyle = "green";
this.context.fillRect(20, 20, 100, 100);
this.context.restore(); // restore to the default state
this.context.fillRect(150, 75, 100, 100);
}) })
} }
.width('100%') .width('100%')
...@@ -2338,6 +2427,7 @@ restore(): void ...@@ -2338,6 +2427,7 @@ restore(): void
} }
} }
``` ```
![zh-cn_image_000000127777781](figures/zh-cn_image_000000127777781.png)
### save ### save
...@@ -2363,14 +2453,19 @@ save(): void ...@@ -2363,14 +2453,19 @@ save(): void
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.context.save() this.context.save(); // save the default state
}) this.context.fillStyle = "green";
this.context.fillRect(20, 20, 100, 100);
this.context.restore(); // restore to the default state
this.context.fillRect(150, 75, 100, 100);
})
} }
.width('100%') .width('100%')
.height('100%') .height('100%')
} }
} }
``` ```
![zh-cn_image_000000127777781](figures/zh-cn_image_000000127777781.png)
### createLinearGradient ### createLinearGradient
......
# Canvas # Canvas
> **说明:** 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供画布组件,用于自定义绘制图形。 提供画布组件,用于自定义绘制图形。
> **说明:**
>
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 权限列表 ## 权限列表
...@@ -18,9 +22,9 @@ Canvas(context?: CanvasRenderingContext2D) ...@@ -18,9 +22,9 @@ Canvas(context?: CanvasRenderingContext2D)
**参数:** **参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------- | ---------------------------------------- | ---- | ---- | ---------------------------- | | ------- | ---------------------------------------- | ---- | ---- | ---------------------------- |
| context | [CanvasRenderingContext2D](ts-canvasrenderingcontext2d.md) | 否 | - | 见CanvasRenderingContext2D对象。 | | context | [CanvasRenderingContext2D](ts-canvasrenderingcontext2d.md) | 否 | - | 见CanvasRenderingContext2D对象。 |
## 属性 ## 属性
...@@ -34,7 +38,8 @@ Canvas(context?: CanvasRenderingContext2D) ...@@ -34,7 +38,8 @@ Canvas(context?: CanvasRenderingContext2D)
| ----------------------------- | ---- | -------------------- | | ----------------------------- | ---- | -------------------- |
| onReady(event: () => void) | 无 | Canvas组件初始化完成时的事件回调,该事件之后Canvas组件宽高确定且可获取,可使用Canvas相关API进行绘制。 | | onReady(event: () => void) | 无 | Canvas组件初始化完成时的事件回调,该事件之后Canvas组件宽高确定且可获取,可使用Canvas相关API进行绘制。 |
## 示例
**示例:**
```ts ```ts
// xxx.ets // xxx.ets
...@@ -50,8 +55,8 @@ struct CanvasExample { ...@@ -50,8 +55,8 @@ struct CanvasExample {
.width('100%') .width('100%')
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() => {
this.context.fillRect(0,30,100,100) this.context.fillRect(0, 30, 100, 100)
}) })
} }
.width('100%') .width('100%')
...@@ -59,3 +64,4 @@ struct CanvasExample { ...@@ -59,3 +64,4 @@ struct CanvasExample {
} }
} }
``` ```
![zh-cn_image_0000001194032666](figures/zh-cn_image_0000001194032666.png)
\ No newline at end of file
# CanvasGradient对象 # CanvasGradient对象
渐变对象。
> **说明:** > **说明:**
>
> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
渐变对象。
## addColorStop ## addColorStop
...@@ -13,13 +14,16 @@ addColorStop(offset: number, color: string): void ...@@ -13,13 +14,16 @@ addColorStop(offset: number, color: string): void
设置渐变断点值,包括偏移和颜色。 设置渐变断点值,包括偏移和颜色。
- 参数
**参数:**
| 参数 | 类型 | 必填 | 默认值 | 描述 | | 参数 | 类型 | 必填 | 默认值 | 描述 |
| ------ | ------ | ---- | --------- | ---------------------------- | | ------ | ------ | ---- | --------- | ---------------------------- |
| offset | number | 是 | 0 | 设置渐变点距离起点的位置占总体长度的比例,范围为0到1。 | | offset | number | 是 | 0 | 设置渐变点距离起点的位置占总体长度的比例,范围为0到1。 |
| color | string | 是 | '#ffffff' | 设置渐变的颜色。 | | color | string | 是 | '#ffffff' | 设置渐变的颜色。 |
- 示例
**示例:**
```ts ```ts
// xxx.ets // xxx.ets
...@@ -48,10 +52,6 @@ addColorStop(offset: number, color: string): void ...@@ -48,10 +52,6 @@ addColorStop(offset: number, color: string): void
.height('100%') .height('100%')
}} }}
``` ```
![zh-cn_image_0000001194032516](figures/zh-cn_image_0000001194032516.png) ![zh-cn_image_0000001194032516](figures/zh-cn_image_0000001194032516.png)
\ No newline at end of file
# ImageBitmap对象 # ImageBitmap对象
ImageBitmap对象可以存储canvas渲染的像素数据。
> **说明:** > **说明:**
>
> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
ImageBitmap对象可以存储canvas渲染的像素数据。
## 属性 ## 属性
...@@ -14,6 +15,36 @@ ImageBitmap对象可以存储canvas渲染的像素数据。 ...@@ -14,6 +15,36 @@ ImageBitmap对象可以存储canvas渲染的像素数据。
| width | number | ImageBitmap的像素宽度。 | | width | number | ImageBitmap的像素宽度。 |
| height | number | ImageBitmap的像素高度。 | | height | number | ImageBitmap的像素高度。 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct ImageExample {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
this.context.drawImage( this.img,0,0,500,500,0,0,400,200);
})
}
.width('100%')
.height('100%')
}
}
```
![zh-cn_image_0000001194352442](figures/zh-cn_image_0000001194352442.png)
## 方法 ## 方法
......
# ImageData对象 # ImageData对象
ImageData对象可以存储canvas渲染的像素数据。
> **说明:** > **说明:**
>
> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
ImageData对象可以存储canvas渲染的像素数据。
## 属性 ## 属性
...@@ -15,3 +16,34 @@ ImageData对象可以存储canvas渲染的像素数据。 ...@@ -15,3 +16,34 @@ ImageData对象可以存储canvas渲染的像素数据。
| height | number | 矩形区域实际像素高度。 | | height | number | 矩形区域实际像素高度。 |
| data | Uint8ClampedArray | 一维数组,保存了相应的颜色数据,数据值范围为0到255。 | | data | Uint8ClampedArray | 一维数组,保存了相应的颜色数据,数据值范围为0到255。 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct Translate {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private img:ImageBitmap = new ImageBitmap("/common/images/1234.png")
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
this.context.drawImage(this.img,0,0,130,130);
var imagedata = this.context.getImageData(50,50,130,130);
this.context.putImageData(imagedata,150,150);
})
}
.width('100%')
.height('100%')
}
}
```
![zh-cn_image_000000127777780](figures/zh-cn_image_000000127777780.png)
...@@ -3,13 +3,10 @@ ...@@ -3,13 +3,10 @@
提供Lottie动画。 提供Lottie动画。
> **说明:** > **说明:**
>
> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 权限列表
## 导入模块 ## 导入模块
...@@ -32,7 +29,8 @@ path: string, container: object, render: string, loop: boolean, autoplay: boolea ...@@ -32,7 +29,8 @@ path: string, container: object, render: string, loop: boolean, autoplay: boolea
加载动画,须提前声明Animator('__lottie_ets')对象,并在Canvas完成布局后调用。可配合Canvas组件生命周期接口使用,比如onAppear()与onPageShow()。 加载动画,须提前声明Animator('__lottie_ets')对象,并在Canvas完成布局后调用。可配合Canvas组件生命周期接口使用,比如onAppear()与onPageShow()。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| -------------- | --------------------------- | ---- | ---------------------------------------- | | -------------- | --------------------------- | ---- | ---------------------------------------- |
| path | string | 是 | hap包内动画资源文件路径,仅支持json格式。示例:path:&nbsp;"common/lottie/data.json" | | path | string | 是 | hap包内动画资源文件路径,仅支持json格式。示例:path:&nbsp;"common/lottie/data.json" |
...@@ -50,12 +48,13 @@ destroy(name: string): void ...@@ -50,12 +48,13 @@ destroy(name: string): void
销毁动画,页面退出时,必须调用。可配合Canvas组件生命周期接口使用,比如onDisappear()与onPageHide()。 销毁动画,页面退出时,必须调用。可配合Canvas组件生命周期接口使用,比如onDisappear()与onPageHide()。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ---------------------------------------- | | ---- | ------ | ---- | ---------------------------------------- |
| name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,&nbsp;缺省时销毁所有动画。 | | name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,&nbsp;缺省时销毁所有动画。 |
- 示例 **示例:**
```ts ```ts
// xxx.ets // xxx.ets
import lottie from '@ohos/lottieETS' import lottie from '@ohos/lottieETS'
...@@ -130,12 +129,14 @@ play(name: string): void ...@@ -130,12 +129,14 @@ play(name: string): void
播放指定动画。 播放指定动画。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ---------------------------------------- | | ---- | ------ | ---- | ---------------------------------------- |
| name | string | 是 | 被指定的动画名,&nbsp;同loadAnimation接口参数name,缺省时播放所有动画。 | | name | string | 是 | 被指定的动画名,&nbsp;同loadAnimation接口参数name,缺省时播放所有动画。 |
- 示例 **示例:**
```ts ```ts
lottie.play(this.animateName) lottie.play(this.animateName)
``` ```
...@@ -147,12 +148,14 @@ pause(name: string): void ...@@ -147,12 +148,14 @@ pause(name: string): void
暂停指定动画,下次调用lottie.play()从当前帧开始。 暂停指定动画,下次调用lottie.play()从当前帧开始。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ---------------------------------------- | | ---- | ------ | ---- | ---------------------------------------- |
| name | string | 是 | 被指定的动画名,同loadAnimation接口入参name,缺省时暂停所有动画。 | | name | string | 是 | 被指定的动画名,同loadAnimation接口入参name,缺省时暂停所有动画。 |
- 示例 **示例:**
```ts ```ts
lottie.pause(this.animateName) lottie.pause(this.animateName)
``` ```
...@@ -164,12 +167,14 @@ togglePause(name: string): void ...@@ -164,12 +167,14 @@ togglePause(name: string): void
暂停或播放指定动画,等效于lottie.play()与lottie.pause()切换调用。 暂停或播放指定动画,等效于lottie.play()与lottie.pause()切换调用。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ---------------------------------------- | | ---- | ------ | ---- | ---------------------------------------- |
| name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时停止所有动画。 | | name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时停止所有动画。 |
- 示例 **示例:**
```ts ```ts
lottie.togglePause(this.animateName) lottie.togglePause(this.animateName)
``` ```
...@@ -181,12 +186,14 @@ stop(name: string): void ...@@ -181,12 +186,14 @@ stop(name: string): void
停止指定动画,下次调用lottie.play()从第一帧开始。 停止指定动画,下次调用lottie.play()从第一帧开始。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ---------------------------------------- | | ---- | ------ | ---- | ---------------------------------------- |
| name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时停止所有动画。 | | name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时停止所有动画。 |
- 示例 **示例:**
```ts ```ts
lottie.stop(this.animateName) lottie.stop(this.animateName)
``` ```
...@@ -198,13 +205,15 @@ setSpeed(speed: number, name: string): void ...@@ -198,13 +205,15 @@ setSpeed(speed: number, name: string): void
设置指定动画播放速度。 设置指定动画播放速度。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ----- | ------ | ---- | ---------------------------------------- | | ----- | ------ | ---- | ---------------------------------------- |
| speed | number | 是 | 值为浮点类型,&nbsp;speed&gt;0正向播放,&nbsp;speed&lt;0反向播放,&nbsp;speed=0暂停播放,&nbsp;speed=1.0/-1.0正常速度播放。 | | speed | number | 是 | 值为浮点类型,&nbsp;speed&gt;0正向播放,&nbsp;speed&lt;0反向播放,&nbsp;speed=0暂停播放,&nbsp;speed=1.0/-1.0正常速度播放。 |
| name | string | 是 | 被指定的动画,同loadAnimation接口参数name,缺省时停止所有动画。 | | name | string | 是 | 被指定的动画,同loadAnimation接口参数name,缺省时停止所有动画。 |
- 示例 **示例:**
```ts ```ts
lottie.setSpeed(5, this.animateName) lottie.setSpeed(5, this.animateName)
``` ```
...@@ -216,13 +225,15 @@ setDirection(direction: AnimationDirection, name: string): void ...@@ -216,13 +225,15 @@ setDirection(direction: AnimationDirection, name: string): void
设置指定动画播放顺序。 设置指定动画播放顺序。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| --------- | ------------------ | ---- | ---------------------------------------- | | --------- | ------------------ | ---- | ---------------------------------------- |
| direction | AnimationDirection | 是 | 1为正向,-1为反向;&nbsp;当设置为反向时,从当前播放进度开始回播直到首帧,loop值为true时可无限倒放;speed&lt;0叠加时也是倒放。<br/>AnimationDirection:1&nbsp;\|&nbsp;-1 | | direction | AnimationDirection | 是 | 1为正向,-1为反向;&nbsp;当设置为反向时,从当前播放进度开始回播直到首帧,loop值为true时可无限倒放;speed&lt;0叠加时也是倒放。<br/>AnimationDirection:1&nbsp;\|&nbsp;-1 |
| name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时设置所有动画方向。 | | name | string | 是 | 被指定的动画名,同loadAnimation接口参数name,缺省时设置所有动画方向。 |
- 示例 **示例:**
```ts ```ts
lottie.setDirection(-1, this.animateName) lottie.setDirection(-1, this.animateName)
``` ```
...@@ -262,12 +273,14 @@ play(name?: string): void ...@@ -262,12 +273,14 @@ play(name?: string): void
播放动画。 播放动画。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------- | | ---- | ------ | ---- | --------------- |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.play() this.animateItem.play()
``` ```
...@@ -279,12 +292,14 @@ destroy(name?: string): void ...@@ -279,12 +292,14 @@ destroy(name?: string): void
销毁动画。 销毁动画。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------- | | ---- | ------ | ---- | --------------- |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.destroy() this.animateItem.destroy()
``` ```
...@@ -296,12 +311,14 @@ pause(name?: string): void ...@@ -296,12 +311,14 @@ pause(name?: string): void
暂停动画,下次调用play接口从当前帧开始播放。 暂停动画,下次调用play接口从当前帧开始播放。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------- | | ---- | ------ | ---- | --------------- |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.pause() this.animateItem.pause()
``` ```
...@@ -313,12 +330,14 @@ togglePause(name?: string): void ...@@ -313,12 +330,14 @@ togglePause(name?: string): void
暂停或播放动画,等效于play接口与pause接口之间轮换调用。 暂停或播放动画,等效于play接口与pause接口之间轮换调用。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------- | | ---- | ------ | ---- | --------------- |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.togglePause() this.animateItem.togglePause()
``` ```
...@@ -330,12 +349,14 @@ stop(name?: string): void ...@@ -330,12 +349,14 @@ stop(name?: string): void
停止动画,下次调用play接口从第一帧开始播放。 停止动画,下次调用play接口从第一帧开始播放。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | --------------- | | ---- | ------ | ---- | --------------- |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.stop() this.animateItem.stop()
``` ```
...@@ -347,12 +368,14 @@ setSpeed(speed: number): void ...@@ -347,12 +368,14 @@ setSpeed(speed: number): void
设置动画播放速度。 设置动画播放速度。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ----- | ------ | ---- | ---------------------------------------- | | ----- | ------ | ---- | ---------------------------------------- |
| speed | number | 是 | 值为浮点类型,&nbsp;speed&gt;0正向播放,&nbsp;speed&lt;0反向播放,&nbsp;speed=0暂停播放,&nbsp;speed=1.0&nbsp;\|&nbsp;-1.0正常速度播放。 | | speed | number | 是 | 值为浮点类型,&nbsp;speed&gt;0正向播放,&nbsp;speed&lt;0反向播放,&nbsp;speed=0暂停播放,&nbsp;speed=1.0&nbsp;\|&nbsp;-1.0正常速度播放。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.setSpeed(5); this.animateItem.setSpeed(5);
``` ```
...@@ -364,12 +387,14 @@ setDirection(direction: AnimationDirection): void ...@@ -364,12 +387,14 @@ setDirection(direction: AnimationDirection): void
设置动画播放顺序。 设置动画播放顺序。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| --------- | ------------------ | ---- | ---------------------------------------- | | --------- | ------------------ | ---- | ---------------------------------------- |
| direction | AnimationDirection | 是 | 1为正向,-1为反向;&nbsp;当设置为反向时,从当前播放进度开始回播直到首帧,loop值为true时可无限倒放;speed&lt;0叠加时也是倒放。<br/>AnimationDirection:1&nbsp;\|&nbsp;-1。 | | direction | AnimationDirection | 是 | 1为正向,-1为反向;&nbsp;当设置为反向时,从当前播放进度开始回播直到首帧,loop值为true时可无限倒放;speed&lt;0叠加时也是倒放。<br/>AnimationDirection:1&nbsp;\|&nbsp;-1。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.setDirection(-1) this.animateItem.setDirection(-1)
``` ```
...@@ -381,14 +406,16 @@ goToAndStop(value: number, isFrame?: boolean): void ...@@ -381,14 +406,16 @@ goToAndStop(value: number, isFrame?: boolean): void
设置动画停止在指定帧或时间进度。 设置动画停止在指定帧或时间进度。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ------- | ------- | ---- | ---------------------------------------- | | ------- | ------- | ---- | ---------------------------------------- |
| value | number | 是 | 帧号(值大于等于0)或时间进度(ms)。 | | value | number | 是 | 帧号(值大于等于0)或时间进度(ms)。 |
| isFrame | boolean | 否 | true:&nbsp;按指定帧控制,false:按指定时间控制,缺省默认false。 | | isFrame | boolean | 否 | true:&nbsp;按指定帧控制,false:按指定时间控制,缺省默认false。 |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
// 按帧号控制 // 按帧号控制
this.animateItem.goToAndStop(25, true) this.animateItem.goToAndStop(25, true)
...@@ -403,14 +430,16 @@ goToAndPlay(value: number, isFrame: boolean, name?: string): void ...@@ -403,14 +430,16 @@ goToAndPlay(value: number, isFrame: boolean, name?: string): void
设置动画从指定帧或时间进度开始播放。 设置动画从指定帧或时间进度开始播放。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ------- | ------- | ---- | ---------------------------------------- | | ------- | ------- | ---- | ---------------------------------------- |
| value | number | 是 | 帧号(值大于等于0)或时间进度(ms) | | value | number | 是 | 帧号(值大于等于0)或时间进度(ms) |
| isFrame | boolean | 是 | true:按指定帧控制,&nbsp;false:按指定时间控制,缺省默认false。 | | isFrame | boolean | 是 | true:按指定帧控制,&nbsp;false:按指定时间控制,缺省默认false。 |
| name | string | 否 | 被指定的动画名,缺省默认为空。 | | name | string | 否 | 被指定的动画名,缺省默认为空。 |
- 示例 **示例:**
```ts ```ts
// 按帧号控制 // 按帧号控制
this.animateItem.goToAndPlay(25, true) this.animateItem.goToAndPlay(25, true)
...@@ -425,13 +454,15 @@ playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag: boolean ...@@ -425,13 +454,15 @@ playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag: boolean
设置动画仅播放指定片段。 设置动画仅播放指定片段。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | ---------------------------------------- | | --------- | ---------------------------------------- | ---- | ---------------------------------------- |
| segments | AnimationSegment&nbsp;=&nbsp;[number,&nbsp;number]&nbsp;\|&nbsp;AnimationSegment[] | 是 | 片段或片段列表;<br/>如果片段列表全部播放完毕后,下轮循环播放仅播放最后一个片段 | | segments | AnimationSegment&nbsp;=&nbsp;[number,&nbsp;number]&nbsp;\|&nbsp;AnimationSegment[] | 是 | 片段或片段列表;<br/>如果片段列表全部播放完毕后,下轮循环播放仅播放最后一个片段 |
| forceFlag | boolean | 是 | true:即时生效播放,false:延迟到下轮循环播放再生效 | | forceFlag | boolean | 是 | true:即时生效播放,false:延迟到下轮循环播放再生效 |
- 示例 **示例:**
```ts ```ts
// 指定播放片段 // 指定播放片段
this.animateItem.playSegments([10, 20], false) this.animateItem.playSegments([10, 20], false)
...@@ -446,12 +477,14 @@ resetSegments(forceFlag: boolean): void ...@@ -446,12 +477,14 @@ resetSegments(forceFlag: boolean): void
重置动画播放片段,播放全帧。 重置动画播放片段,播放全帧。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| --------- | ------- | ---- | ------------------------------ | | --------- | ------- | ---- | ------------------------------ |
| forceFlag | boolean | 是 | true:即时生效播放,false:延迟到下轮循环播放再生效 | | forceFlag | boolean | 是 | true:即时生效播放,false:延迟到下轮循环播放再生效 |
- 示例 **示例:**
```ts ```ts
this.animateItem.resetSegments(true) this.animateItem.resetSegments(true)
``` ```
...@@ -463,7 +496,8 @@ resize(): void ...@@ -463,7 +496,8 @@ resize(): void
刷新动画布局。 刷新动画布局。
- 示例 **示例:**
```ts ```ts
this.animateItem.resize() this.animateItem.resize()
``` ```
...@@ -475,12 +509,14 @@ setSubframe(useSubFrame: boolean): void ...@@ -475,12 +509,14 @@ setSubframe(useSubFrame: boolean): void
设置属性currentFrame的精度显示浮点数。 设置属性currentFrame的精度显示浮点数。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ------------ | ------- | ---- | ---------------------------------------- | | ------------ | ------- | ---- | ---------------------------------------- |
| useSubFrames | boolean | 是 | currentFrame属性默认显示浮点数,该接口参数将影响currentFrame属性的精度。<br/>true:属性currentFrame显示浮点。<br/>false:属性currentFrame去浮点数显示整数。 | | useSubFrames | boolean | 是 | currentFrame属性默认显示浮点数,该接口参数将影响currentFrame属性的精度。<br/>true:属性currentFrame显示浮点。<br/>false:属性currentFrame去浮点数显示整数。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.setSubframe(false) this.animateItem.setSubframe(false)
``` ```
...@@ -492,12 +528,14 @@ getDuration(inFrames?: boolean): void ...@@ -492,12 +528,14 @@ getDuration(inFrames?: boolean): void
获取动画单次完整播放的时间(与播放速度无关)或帧数, 与Lottie.loadAnimation接口入参initialSegment有关。 获取动画单次完整播放的时间(与播放速度无关)或帧数, 与Lottie.loadAnimation接口入参initialSegment有关。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| -------- | ------- | ---- | ---------------------------------------- | | -------- | ------- | ---- | ---------------------------------------- |
| inFrames | boolean | 否 | true:获取帧数,&nbsp;false:获取时间(单位ms),缺省默认false。 | | inFrames | boolean | 否 | true:获取帧数,&nbsp;false:获取时间(单位ms),缺省默认false。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.getDuration(true) this.animateItem.getDuration(true)
``` ```
...@@ -509,13 +547,15 @@ addEventListener&lt;T = any&gt;(name: AnimationEventName, callback: AnimationEve ...@@ -509,13 +547,15 @@ addEventListener&lt;T = any&gt;(name: AnimationEventName, callback: AnimationEve
添加侦听事件, 事件完成后会触发指定回调函数。返回可删除该侦听事件的函数对象。 添加侦听事件, 事件完成后会触发指定回调函数。返回可删除该侦听事件的函数对象。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| -------- | ------------------------------- | ---- | ---------------------------------------- | | -------- | ------------------------------- | ---- | ---------------------------------------- |
| name | AnimationEventName | 是 | 指定动画事件类型,Lottie内置动画事件类型AnimationEventName:<br/>'enterFrame'、'loopComplete'、'complete'、'segmentStart'、'destroy'、'config_ready'、'data_ready'、'DOMLoaded'、'error'、'data_failed'、'loaded_images' | | name | AnimationEventName | 是 | 指定动画事件类型,Lottie内置动画事件类型AnimationEventName:<br/>'enterFrame'、'loopComplete'、'complete'、'segmentStart'、'destroy'、'config_ready'、'data_ready'、'DOMLoaded'、'error'、'data_failed'、'loaded_images' |
| callback | AnimationEventCallback&lt;T&gt; | 是 | 用户自定义回调函数 | | callback | AnimationEventCallback&lt;T&gt; | 是 | 用户自定义回调函数 |
- 示例 **示例:**
```ts ```ts
private callbackItem: any = function() { private callbackItem: any = function() {
console.log("grunt loopComplete") console.log("grunt loopComplete")
...@@ -533,13 +573,15 @@ removeEventListener&lt;T = any&gt;(name: AnimationEventName, callback?: Animatio ...@@ -533,13 +573,15 @@ removeEventListener&lt;T = any&gt;(name: AnimationEventName, callback?: Animatio
删除侦听事件。 删除侦听事件。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| -------- | ------------------------------- | ---- | ---------------------------------------- | | -------- | ------------------------------- | ---- | ---------------------------------------- |
| name | AnimationEventName | 是 | 指定动画事件类型,Lottie内置动画事件类型AnimationEventName:<br/>'enterFrame'、'loopComplete'、'complete'、'segmentStart'、'destroy'、'config_ready'、'data_ready'、'DOMLoaded'、'error'、'data_failed'、'loaded_images' | | name | AnimationEventName | 是 | 指定动画事件类型,Lottie内置动画事件类型AnimationEventName:<br/>'enterFrame'、'loopComplete'、'complete'、'segmentStart'、'destroy'、'config_ready'、'data_ready'、'DOMLoaded'、'error'、'data_failed'、'loaded_images' |
| callback | AnimationEventCallback&lt;T&gt; | 否 | 用户自定义回调函数;缺省为空时,删除此事件的所有回调函数。 | | callback | AnimationEventCallback&lt;T&gt; | 否 | 用户自定义回调函数;缺省为空时,删除此事件的所有回调函数。 |
- 示例 **示例:**
```ts ```ts
this.animateItem.removeEventListener('loopComplete', this.animateName) this.animateItem.removeEventListener('loopComplete', this.animateName)
``` ```
...@@ -551,13 +593,15 @@ triggerEvent&lt;T = any&gt;(name: AnimationEventName, args: T): void ...@@ -551,13 +593,15 @@ triggerEvent&lt;T = any&gt;(name: AnimationEventName, args: T): void
直接触发指定事件的所有已设置的回调函数。 直接触发指定事件的所有已设置的回调函数。
- 参数 **参数:**
| 参数 | 类型 | 必填 | 描述 | | 参数 | 类型 | 必填 | 描述 |
| ---- | ------------------ | ---- | --------- | | ---- | ------------------ | ---- | --------- |
| name | AnimationEventName | 是 | 指定动画事件类型 | | name | AnimationEventName | 是 | 指定动画事件类型 |
| args | any | 是 | 用户自定义回调参数 | | args | any | 是 | 用户自定义回调参数 |
- 示例 **示例:**
```ts ```ts
private triggerCallBack: any = function(item) { private triggerCallBack: any = function(item) {
console.log("trigger loopComplete, name:" + item.name) console.log("trigger loopComplete, name:" + item.name)
......
# Path2D对象 # Path2D对象
路径对象,支持通过对象的接口进行路径的描述,并通过Canvas的stroke接口进行绘制。
> **说明:** > **说明:**
>
> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
路径对象,支持通过对象的接口进行路径的描述,并通过Canvas的stroke接口进行绘制。
## addPath ## addPath
...@@ -225,7 +226,8 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, ...@@ -225,7 +226,8 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number,
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.path2Db.moveTo(10, 10) this.path2Db.moveTo(10, 10)
this.path2Db.bezierCurveTo(20, 100, 200, 100, 200, 20);this.context.stroke(this.path2Db) this.path2Db.bezierCurveTo(20, 100, 200, 100, 200, 20)
this.context.stroke(this.path2Db)
}) })
} }
.width('100%') .width('100%')
...@@ -319,7 +321,8 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, ...@@ -319,7 +321,8 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number,
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.path2Db.arc(100, 75, 50, 0, 6.28);this.context.stroke(this.path2Db) this.path2Db.arc(100, 75, 50, 0, 6.28)
this.context.stroke(this.path2Db)
}) })
} }
.width('100%') .width('100%')
...@@ -407,7 +410,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number ...@@ -407,7 +410,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number
private settings: RenderingContextSettings = new RenderingContextSettings(true) private settings: RenderingContextSettings = new RenderingContextSettings(true)
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
private path2Db: Path2D = new Path2D() private path2Db: Path2D = new Path2D()
build() { build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context) Canvas(this.context)
...@@ -415,7 +418,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number ...@@ -415,7 +418,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.path2Db.ellipse(200, 200, 50, 100, Math.PI * 0.25, Math.PI * 0.5, Math.PI) this.path2Db.ellipse(200, 200, 50, 100, 0, Math.PI * 1, Math.PI*2)
this.context.stroke(this.path2Db) this.context.stroke(this.path2Db)
}) })
} }
...@@ -461,7 +464,8 @@ rect(x: number, y: number, w: number, h: number): void ...@@ -461,7 +464,8 @@ rect(x: number, y: number, w: number, h: number): void
.height('100%') .height('100%')
.backgroundColor('#ffff00') .backgroundColor('#ffff00')
.onReady(() =>{ .onReady(() =>{
this.path2Db.rect(20, 20, 100, 100);this.context.stroke(this.path2Db) this.path2Db.rect(20, 20, 100, 100);
this.context.stroke(this.path2Db)
}) })
} }
.width('100%') .width('100%')
......
...@@ -21,11 +21,10 @@ ...@@ -21,11 +21,10 @@
Shape(value?: PixelMap) Shape(value?: PixelMap)
**参数:** - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | -------- | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | -------- | | value | [PixelMap](../apis/js-apis-image.md#pixelmap7) | 否 | - | 绘制目标,可将图形绘制在指定的PixelMap对象中,若未设置,则在当前绘制目标中进行绘制。 |
| value | PixelMap | 否 | - | 绘制目标,可将图形绘制在指定的PixelMap对象中,若未设置,则在当前绘制目标中进行绘制。 |
## 属性 ## 属性
......
# faultlogger 错误码
## 10600001 服务未启动或故障
**错误信息**
The service is not running or broken.
**错误描述**
服务未启动/故障。
**可能原因**
hiview服务未启动。
**处理步骤**
不应该发生的场景,考虑重试。
\ No newline at end of file
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
| 名称 | 类型 | 默认值 | 必填 | 描述 | | 名称 | 类型 | 默认值 | 必填 | 描述 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| type | string | - | 否 | 不支持动态修改。如果该属性缺省,展示类胶囊型按钮,不同于胶囊类型,四边圆角可以通过border-radius分别指定,如果需要设置该属性,可选值如下:<br/>-&nbsp;"capsule":胶囊型按钮,带圆角按钮,有背景色和文本。<br/>-&nbsp;"circle":圆形按钮,支持放置图标。<br/>-&nbsp;"text":文本按钮,仅包含文本显示。 | | type | string | capsule | 否 | 不支持动态修改。如果该属性缺省,展示类胶囊型按钮,不同于胶囊类型,四边圆角可以通过border-radius分别指定,如果需要设置该属性,可选值如下:<br/>-&nbsp;"capsule":胶囊型按钮,带圆角按钮,有背景色和文本。<br/>-&nbsp;"circle":圆形按钮,支持放置图标。<br/>-&nbsp;"text":文本按钮,仅包含文本显示。 |
| value | string | - | 否 | button的文本值,circle类型不生效。 | | value | string | - | 否 | button的文本值,circle类型不生效。 |
| icon | string | - | 否 | button的图标路径,图标格式为jpg,png和svg。 | | icon | string | - | 否 | button的图标路径,图标格式为jpg,png和svg。 |
| placement | string | end | 否 | 仅在type属性为缺省时生效,设置图标位于文本的位置,可选值为:<br/>-&nbsp;"start":图标位于文本起始处。<br/>-&nbsp;"end":图标位于文本结束处。<br/>-&nbsp;"top":图标位于文本上方。<br/>-&nbsp;"bottom":图标位于文本下方。 | | placement | string | end | 否 | 仅在type属性为缺省时生效,设置图标位于文本的位置,可选值为:<br/>-&nbsp;"start":图标位于文本起始处。<br/>-&nbsp;"end":图标位于文本结束处。<br/>-&nbsp;"top":图标位于文本上方。<br/>-&nbsp;"bottom":图标位于文本下方。 |
......
...@@ -16,14 +16,14 @@ ...@@ -16,14 +16,14 @@
除支持[通用属性](js-service-widget-common-attributes.md)外,还支持如下属性: 除支持[通用属性](js-service-widget-common-attributes.md)外,还支持如下属性:
| 名称 | 类型 | 默认值 | 必填 | 描述 | | 名称 | 类型 | 默认值 | 必填 | 描述 |
| ----------------- | ---------------------------------- | ---- | ---- | ---------------------------------------- | | ----------------- | ---------------------------------- | ------ | ---- | ------------------------------------------------------------ |
| type | string | line | 否 | 设置图表类型(不支持动态修改),可选项有:<br/>-&nbsp;bar:柱状图。<br/>-&nbsp;line:线形图。<br/>-&nbsp;gauge:量规图。<br/>-&nbsp;progress:进度类圆形图表。<br/>-&nbsp;loading:加载类圆形图表。<br/>-&nbsp;rainbow:占比类圆形图表。 | | type | string | line | 否 | 设置图表类型(不支持动态修改),可选项有:<br/>-&nbsp;bar:柱状图。<br/>-&nbsp;line:线形图。<br/>-&nbsp;gauge:量规图。<br/>-&nbsp;progress:进度类圆形图表。<br/>-&nbsp;loading:加载类圆形图表。<br/>-&nbsp;rainbow:占比类圆形图表。 |
| options | ChartOptions | - | 否 | 图表参数设置,柱状图和线形图必须设置参数设置,量规图不生效。可以设置x轴、y轴的最小值、最大值、刻度数、是否显示,线条宽度、是否平滑等。(不支持动态修改) | | options | ChartOptions | - | 否 | 图表参数设置,用于设置x轴、y轴的最小值、最大值、刻度数、是否显示,线条宽度、是否平滑等。(不支持动态修改),量规图不生效。 |
| datasets | Array\<ChartDataset> | - | 否 | 数据集合,柱状图和线形图必须设置数据集合,量规图不生效。可以设置多条数据集及其背景色。 | | datasets | Array\<ChartDataset> | - | 否 | 数据集合,用于设置多条数据集及其背景色,量规图不生效。 |
| segments | DataSegment \| Array\<DataSegment> | | 否 | 进度类、加载类和占比类圆形图表使用的数据结构。<br/>DataSegment针对进度类和加载类圆形图表使用,Array\<DataSegment>针对占比类图标使用,DataSegment最多9个。 | | segments | DataSegment \| Array\<DataSegment> | | 否 | 进度类、加载类和占比类圆形图表使用的数据结构。<br/>DataSegment针对进度类和加载类圆形图表使用,Array\<DataSegment>针对占比类图标使用,DataSegment最多9个。 |
| effects | boolean | true | 否 | 是否开启占比类、进度类圆形图表特效。 | | effects | boolean | true | 否 | 是否开启占比类、进度类圆形图表特效。 |
| animationduration | number | 3000 | 否 | 设置占比类圆形图表展开动画时长,单位为ms。 | | animationduration | number | 3000 | 否 | 设置占比类圆形图表展开动画时长,单位为ms。 |
**表1** ChartOptions **表1** ChartOptions
......
...@@ -625,7 +625,7 @@ struct Index { ...@@ -625,7 +625,7 @@ struct Index {
| ------------------------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------- | ----------- | | ------------------------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------- | ----------- |
| HUKS_ALG_SM4 (支持长度: HUKS_SM4_KEY_SIZE_128) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | 【非必选】 | HUKS_PADDING_NONE | HUKS_MODE_CTR HUKS_MODE_ECB HUKS_MODE_CBC | 【必选】 | | HUKS_ALG_SM4 (支持长度: HUKS_SM4_KEY_SIZE_128) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | 【非必选】 | HUKS_PADDING_NONE | HUKS_MODE_CTR HUKS_MODE_ECB HUKS_MODE_CBC | 【必选】 |
| HUKS_ALG_SM4 (支持长度: HUKS_SM4_KEY_SIZE_128) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | 【非必选】 | HUKS_PADDING_PKCS7 | HUKS_MODE_ECB HUKS_MODE_CBC | 【必选】 | | HUKS_ALG_SM4 (支持长度: HUKS_SM4_KEY_SIZE_128) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | 【非必选】 | HUKS_PADDING_PKCS7 | HUKS_MODE_ECB HUKS_MODE_CBC | 【必选】 |
| HUKS_ALG_RSA (支持长度: HUKS_SM4_KEY_SIZE_512 HUKS_SM4_KEY_SIZE_768 HUKS_SM4_KEY_SIZE_1024 HUKS_SM4_KEY_SIZE_2048 HUKS_SM4_KEY_SIZE_3072 HUKS_SM4_KEY_SIZE_4096) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | HUKS_DIGEST_SHA1 HUKS_DIGEST_SHA224 HUKS_DIGEST_SHA256 HUKS_DIGEST_SHA384 HUKS_DIGEST_SHA512 | HUKS_PADDING_NONE HUKS_PADDING_PKCS1_V1_5 HUKS_PADDING_OAEP | HUKS_MODE_ECB | 【非必选】 | | HUKS_ALG_RSA (支持长度: HUKS_RSA_KEY_SIZE_512 HUKS_RSA_KEY_SIZE_768 HUKS_RSA_KEY_SIZE_1024 HUKS_RSA_KEY_SIZE_2048 HUKS_RSA_KEY_SIZE_3072 HUKS_RSA_KEY_SIZE_4096) | HUKS_KEY_PURPOSE_ENCRYPT HUKS_KEY_PURPOSE_DECRYPT | HUKS_DIGEST_SHA1 HUKS_DIGEST_SHA224 HUKS_DIGEST_SHA256 HUKS_DIGEST_SHA384 HUKS_DIGEST_SHA512 | HUKS_PADDING_NONE HUKS_PADDING_PKCS1_V1_5 HUKS_PADDING_OAEP | HUKS_MODE_ECB | 【非必选】 |
| HUKS_ALG_ALGORITHM | HUKS_TAG_PURPOSE | HUKS_TAG_PADDING | HUKS_TAG_BLOCK_MODE | HUKS_TAG_IV | HUKS_TAG_NONCE | HUKS_TAG_ASSOCIATED_DATA | HUKS_TAG_AE_TAG | | HUKS_ALG_ALGORITHM | HUKS_TAG_PURPOSE | HUKS_TAG_PADDING | HUKS_TAG_BLOCK_MODE | HUKS_TAG_IV | HUKS_TAG_NONCE | HUKS_TAG_ASSOCIATED_DATA | HUKS_TAG_AE_TAG |
| ------------------------------------------------------------ | ------------------------ | ------------------------------------- | ---------------------------- | ----------- | -------------- | ------------------------ | --------------- | | ------------------------------------------------------------ | ------------------------ | ------------------------------------- | ---------------------------- | ----------- | -------------- | ------------------------ | --------------- |
......
...@@ -48,16 +48,18 @@ longpress:用户在相同位置长时间保持与屏幕接触。 ...@@ -48,16 +48,18 @@ longpress:用户在相同位置长时间保持与屏幕接触。
```css ```css
/* xxx.css */ /* xxx.css */
.container { .container {
width: 100%;
height: 100%;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.text-container { .text-container {
margin-top: 10px; margin-top: 30px;
flex-direction: column; flex-direction: column;
width: 750px; width: 600px;
height: 50px; height: 70px;
background-color: #09ba07; background-color: #0000FF;
} }
.text-style { .text-style {
width: 100%; width: 100%;
...@@ -99,3 +101,5 @@ export default { ...@@ -99,3 +101,5 @@ export default {
}, },
} }
``` ```
![zh-cn_image_00000011](figures/zh-cn_image_00000011.gif)
\ No newline at end of file
...@@ -118,8 +118,6 @@ import prompt from '@system.prompt'; ...@@ -118,8 +118,6 @@ import prompt from '@system.prompt';
export default { export default {
data:{ data:{
dataURL:null, dataURL:null,
antialia: false,
porc:'open',
}, },
onShow(){ onShow(){
let el = this.$refs.canvas1; let el = this.$refs.canvas1;
......
...@@ -79,7 +79,7 @@ marquee通过color和font-weight属性设置跑马灯中文本的颜色、字体 ...@@ -79,7 +79,7 @@ marquee通过color和font-weight属性设置跑马灯中文本的颜色、字体
<div class="tutorial-page"> <div class="tutorial-page">
<div class="mymarquee"> <div class="mymarquee">
<marquee loop="{{loopval}}" scrollamount="{{scroll}}" direction="{{isleft}}" class="marqueetext" id="testmarquee" onclick="makestart"> <marquee loop="{{loopval}}" scrollamount="{{scroll}}" direction="{{isleft}}" class="marqueetext" id="testmarquee" onclick="makestart">
It's a racing lamp Life is a journey, not the destination.
</marquee> </marquee>
</div> </div>
<div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;"> <div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;">
...@@ -128,7 +128,9 @@ button{ ...@@ -128,7 +128,9 @@ button{
// xxx.js // xxx.js
export default { export default {
private: { private: {
loopval: -1, scroll: 10, isleft: "left", loopval: -1,
scroll: 10,
isleft: "left",
}, },
onInit(){ onInit(){
}, },
...@@ -163,7 +165,7 @@ export default { ...@@ -163,7 +165,7 @@ export default {
<div class="mymarquee"> <div class="mymarquee">
<marquee style="color: {{color1}}" loop="{{loopval}}" scrollamount="{{scroll}}" direction="{{isleft}}" class="marqueetext" <marquee style="color: {{color1}}" loop="{{loopval}}" scrollamount="{{scroll}}" direction="{{isleft}}" class="marqueetext"
id="testmarquee" onfinish="setfinish"> id="testmarquee" onfinish="setfinish">
It's a racing lamp Life is a journey, not the destination.
</marquee> </marquee>
</div> </div>
<div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;"> <div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;">
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
## 添加样式 ## 添加样式
通过color、placeholder和caret-color样式来设置搜索框的文本颜色、提示文本颜色和光标颜色。 通过color、placeholder-color和caret-color样式来设置搜索框的文本颜色、提示文本颜色和光标颜色。
```html ```html
...@@ -84,7 +84,9 @@ ...@@ -84,7 +84,9 @@
background-color: #F1F3F5; background-color: #F1F3F5;
} }
search{ search{
color: black; placeholder-color: black; caret-color: red; color: black;
placeholder-color: black;
caret-color: red;
} }
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册