1# ArkUI子系统Changelog 2 3## cl.arkui.1 线性DataPanel组件默认圆角尺寸变更并可以自定义圆角尺寸 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11线性DataPanel组件的圆角尺寸不能改变,导致开发者无法自定义线性DataPanel组件的圆角尺寸。新增支持自定义线性DataPanel组件的圆角尺寸,增强开发者自定义能力。 12 13**变更影响** 14 15该变更为非兼容性变更。 16 17变更前: 18线性DataPanel组件默认是胶囊形状。不能自定义线性DataPanel组件的圆角。 19 20变更后: 21线性DataPanel组件默认圆角的是小圆角。可以自定义线性DataPanel组件的圆角尺寸,调用borderRadius设置圆角尺寸。 22 23**API Level** 24 2512 26 27**变更发生版本** 28 29从OpenHarmony SDK 5.0.0.26开始。 30 31**适配指导** 32 33默认圆角效果变更,无需适配,如不接受变更后的默认圆角效果,可以调用borderRadius自定义修改圆角尺寸以达到预期。 34 35## cl.arkui.2 ScrollBar组件没有子节点时,支持显示默认样式的滚动条 36 37**访问级别** 38 39公开接口 40 41**变更原因** 42从API version 12开始,ScrollBar组件没有子节点时,支持显示默认样式的滚动条。 43 44**变更影响** 45 46该变更为非兼容性变更。 47 48API version 11及以前,ScrollBar组件没有子节点时,不显示滚动条。 49 50API version 12及以后,ScrollBar组件没有子节点时,支持显示默认样式的滚动条。 51 52**API Level** 53 5412 55 56**变更发生版本** 57 58从OpenHarmony SDK 5.0.0.26 版本开始。 59 60**变更的接口/组件** 61 62ScrollBar组件 63 64**适配指导** 65 66请查阅[ScrollBar组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-scrollbar.md)文档进行适配。 67 68## cl.arkui.3 UIExtensionComponent异常处理废弃onRelease和onResult,使用onTerminated和onError替代 69 70**访问级别** 71 72公开接口 73 74**变更原因** 75UIExtensionComponent异常处理回调分散 76 77**变更影响** 78 79该变更为非兼容性变更。 80 81API version 11及以前,被拉起的UIExtensionAbility意外Crash或被kill时,触发onRelease回调(错误码为1);被拉起的UIExtensionAbility调用terminateSelf时会触发onRelease回调(错误码为0);被拉起的UIExtensionAbility调用terminateSelfWithResult时会触发onRelease回调(错误码为0)和onResult回调。 82 83API version 12及以后,被拉起的UIExtensionAbility意外Crash或被kill时,触发onError回调(错误码为100014);被拉起的UIExtensionAbility调用terminateSelf时会触发onTerminated回调,其入参"code"取默认值"0","want"为"undefined";被拉起的UIExtensionAbility调用terminateSelfWithResult时会触发onTerminated回调,其携带的信息会传给回调函数的入参。 84 85**API Level** 86 8712 88 89**变更发生版本** 90 91从OpenHarmony SDK 5.0.0.26 版本开始。 92 93**变更的接口/组件** 94 95UIExtensionComponent组件 96 97**适配指导** 98 99请查阅[UIExtensionComponent组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-ui-extension-component-sys.md)文档进行适配。 100 101## cl.arkui.4 手势菜单复制,粘贴,全选,剪切按钮扩大选中区域的高度至40vp 102 103**访问级别** 104 105公开接口 106 107**变更原因** 108手势菜单复制、粘贴、全选、剪切按钮选中区域高度不符合简单易用标准 109 110**变更影响** 111 112该变更为非兼容性变更。 113 114API version 11及以前,手势菜单复制、粘贴、全选、剪切按钮扩中区域的高度为28vp。 115 116API version 12及以后,手势菜单复制、粘贴、全选、剪切按钮扩中区域的高度为40vp,且保持长按时视觉效果一致。 117 118**起始API Level** 119 12010 121 122**变更发生版本** 123 124从OpenHarmony SDK 5.0.0.26 版本开始。 125 126**变更的接口/组件** 127 128涉及菜单的组件:TextInput、TextArea、Search、RichEditor。 129 130**适配指导** 131 132默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 133 134## cl.arkui.5 pickerDialog操作区按钮大小及间距调整 135 136**访问级别** 137 138公开接口 139 140**变更原因** 141 142修正视觉效果以获得更好的用户体验。 143 144**变更影响** 145 146该变更为非兼容性变更。 147 148| |变更前 | 变更后 | 149|---------|---------|---| 150| DatePickerDialog |按钮大小:高36vp,宽150vp。 按钮边距:上18vp,左右20vp,下10vp。|按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。| 151| TimePickerDialog |按钮大小:高36vp,宽150vp。 按钮边距:上24vp,左右20vp,下6vp。 |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。| 152| CalendarPickerDialog | 按钮大小:高40vp,宽150vp。 按钮边距:上8vp,左右16vp,下16vp。 |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。| 153| TextPickerDialog | 按钮大小:高36vp,宽150vp。 按钮边距:上32vp,左右20vp,下6vp。 |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。| 154 155**起始API Level** 156 15712 158 159**变更发生版本** 160 161从OpenHarmony SDK 5.0.0.26 版本开始。 162 163**变更的接口/组件** 164 165涉及菜单的组件:CalendarPickerDialog、TextPickerDialog、DatePickerDialog、TimePickerDialog。 166 167**适配指导** 168 169默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 170 171## cl.arkui.6 使用Path2D复制构造Path2D不生效 172 173**访问级别** 174 175公开接口 176 177**变更原因** 178 179变更前效果未达预期 180 181**变更影响** 182 183该变更为非兼容性变更。 184 185变更前:使用Path2D复制构造Path2D不生效 186 187变更后:使用Path2D复制构造Path2D可以创建出一个与原来的Path2D相同路径的Path2D 188 189**起始 API Level** 190 1918 192 193**变更发生版本** 194 195从OpenHarmony SDK 5.0.0.26 版本开始。 196 197**变更的接口/组件** 198 199Path2D 200 201**适配指导** 202 203默认效果变更,无需适配。但应注意变更后的效果是否符合预期。 204 205```ts 206@Entry 207@Component 208struct Demo { 209 private settings: RenderingContextSettings = new RenderingContextSettings(true) 210 private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) 211 private path2Da: Path2D = new Path2D() 212 213 build() { 214 Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { 215 Canvas(this.context) 216 .width('100%') 217 .height('50%') 218 .onReady(() => { 219 this.path2Da.rect(20, 20, 100, 100) 220 let path2Db = new Path2D(this.path2Da) 221 this.context.stroke(path2Db) 222 }) 223 } 224 .width('100%') 225 .height('100%') 226 } 227} 228``` 229 230 231 232## cl.arkui.7 使用PixelMap构造ImageBitmap不生效 233 234**访问级别** 235 236公开接口 237 238**变更原因** 239 240变更前效果未达预期 241 242**变更影响** 243 244该变更为非兼容性变更。 245 246变更前:使用PixelMap构造ImageBitmap不生效 247 248变更后:使用PixelMap构造ImageBitmap可以创建出ImageBitmap 249 250**起始 API Level** 251 2528 253 254**变更发生版本** 255 256从OpenHarmony SDK 5.0.0.26 版本开始。 257 258**变更的接口/组件** 259 260ImageBitmap 261 262**适配指导** 263 264默认效果变更,无需适配。但应注意变更后的效果是否符合预期。 265 266```ts 267@Entry 268@Component 269struct Demo { 270 private settings: RenderingContextSettings = new RenderingContextSettings(true) 271 private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) 272 273 build() { 274 Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { 275 Canvas(this.context) 276 .width('100%') 277 .height('50%') 278 .backgroundColor('#ffff00') 279 .onReady(() => { 280 this.context.fillStyle = "#00ff00" 281 this.context.fillRect(0, 0, 100, 100) 282 let pixel = this.context.getPixelMap(0, 0, 100, 100) 283 let image = new ImageBitmap(pixel) 284 this.context.drawImage(image, 100, 100) 285 }) 286 } 287 .width('100%') 288 .height('100%') 289 } 290} 291 292``` 293 294 295 296## cl.arkui.8 ImageSpanAlignment BASELINE 效果调整 297 298**访问级别** 299 300公开接口 301 302**变更原因** 303 304ImageSpanAlignment BASELINE 原先显示效果与文档解释不符 305 306**变更影响** 307 308该变更为不兼容性变更。 309 3101. ImageSpan 组件的 ImageSpanAlignment BASELINE 效果调整,将图片底部与 baseline 进行对齐 311 312**起始API Level** 313 31412 315 316**变更发生版本** 317 318从OpenHarmony SDK 5.0.0.31开始。 319 320**适配指导** 321 322默认行为变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则自定义修改效果以达到预期。 323 324## cl.arkui.9 bindSheet半模态弹窗支持开发者设置底部弹窗样式 325 326**访问级别** 327 328公开接口 329 330**变更原因** 331 332半模态视觉增强 333 334**变更影响** 335 336该变更为不兼容变更。 337 338bindSheet的Option属性preferType,从枚举值变成了枚举,会影响开发者将preferType属性作为函数形参的场景。 339 340代码举例如: 341 342```ts 343// 函数foo,形参为SheetType的枚举值 344function foo(goog: SheetType.CENTER | SheetType.POPUP | undefined) { 345 // 函数内容 346}; 347 348// 声明一个参数 = SheetOptions 349let op : SheetOptions = { 350 preferType : SheetType.CENTER 351}; 352 353// foo函数调用op.preferType 354foo(op.preferType) 355 356``` 357 358变更前:foo函数可以调用该变量 359 360变更后:foo函数调用该变量会报错,需要将foo函数的形参变更为SheetType枚举 361 362```ts 363// 函数foo,形参为SheetType枚举 364function foo(goog: SheetType | undefined) { 365 // 函数内容 366}; 367``` 368 369**起始API Level** 370 37111 372 373**变更发生版本** 374 375从OpenHarmony SDK 5.0.0.26开始。 376 377**适配指导** 378 379默认行为无变更,但需要处理上述函数传参场景。 380 381需要将函数foo的形参类型改成SheetType枚举,而不是枚举值。