1## cl.arkui.1 UIExtensionComponent增加使用约束 2 3**访问级别** 4 5系统接口 6 7**变更原因** 8 9变更前文档中UIExtensionComponent为系统接口,但在实现中并未做系统应用访问校验。 10 11**变更影响** 12 13该变更为不兼容变更。 14 15UIExtensionComponent增加系统应用访问校验。 16 17**起始API Level** 18 1910 20 21**变更发生版本** 22 23从OpenHarmony SDK 5.0.0.32开始。 24 25**变更的接口/组件** 26 27UIExtensionComponent组件。 28 29**适配指导** 30 31使用UIExtensionComponent的必须为系统应用。 32 33## cl.arkui.2 DatePickerDialog显示时间时分割线延长 34 35**访问级别** 36 37公开接口 38 39**变更原因** 40 41修正视觉效果以获得更好的用户体验。 42 43**变更影响** 44 45该变更为不兼容变更。 46 47| 变更前 | 变更后 | 48|---------|---------| 49|  |  | 50 51**起始API Level** 52 5312 54 55**变更发生版本** 56 57从OpenHarmony SDK 5.0.0.32 版本开始。 58 59**变更的接口/组件** 60 61涉及的组件:DatePickerDialog。 62 63**适配指导** 64 65默认行为变更,无需适配。 66 67## cl.arkui.4 List的constraintSize设置生效 68 69**访问级别** 70 71公开接口 72 73**变更原因** 74 75List的布局行为和当前通用的布局约束优先的规格不一致。 76 77**变更影响** 78 79该变更为不兼容变更。 80 81变更前,List不设置Height时,constraintSize的minHeight设置不生效。 82 83变更后,List不设置Height时,constraintSize的minHeight设置会生效。 84 85```ts 86@Entry 87@Component 88struct ListExample { 89 build() { 90 List({ space: 5 }) { 91 ForEach([1, 2, 3, 4, 5], (item: number) => { 92 ListItem() { 93 Text('' + item) 94 .width('100%').height(50) 95 .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF) 96 } 97 }, (item: string) => item) 98 } 99 .padding(5) 100 .constraintSize({ minHeight: 500 }) 101 .backgroundColor(0xDCDCDC) 102 } 103} 104``` 105 106如下是以上示例代码变更前后效果对比: 107 108 | 变更前 | 变更后 | 109|---------|---------| 110|  |  | 111 112**起始API Level** 113 1147 115 116**变更发生版本** 117 118从OpenHarmony SDK 5.0.0.32开始。 119 120**变更的接口/组件** 121 122List组件的constraintSize接口。 123 124**适配指导** 125 126如果List没有设置height属性,且设置了constraintSize的minHeight属性。变更后minHeight属性生效,导致布局界面变化,如果需要保持之前的布局界面,可以删除constraintSize的minHeight属性。 127 128如下代码,变更前constraintSize的minHeight属性不生效,变更后constraintSize的minHeight属性生效导致显示界面变化。 129```ts 130@Entry 131@Component 132struct ListExample { 133 build() { 134 List({ space: 5 }) { 135 ForEach([1, 2, 3, 4, 5], (item: number) => { 136 ListItem() { 137 Text('' + item) 138 .width('100%').height(50) 139 .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF) 140 } 141 }, (item: string) => item) 142 } 143 .padding(5) 144 .constraintSize({ minHeight: 500, maxHeight: 1000 }) 145 .backgroundColor(0xDCDCDC) 146 } 147} 148``` 149删除constraintSize接口minHeight设置可以恢复之前的效果。 150```ts 151@Entry 152@Component 153struct ListExample { 154 build() { 155 List({ space: 5 }) { 156 ForEach([1, 2, 3, 4, 5], (item: number) => { 157 ListItem() { 158 Text('' + item) 159 .width('100%').height(50) 160 .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF) 161 } 162 }, (item: string) => item) 163 } 164 .padding(5) 165 .constraintSize({ maxHeight: 1000 }) 166 .backgroundColor(0xDCDCDC) 167 } 168} 169``` 170 171## cl.arkui.5 CreateModalUIExtension默认行为变更 172 173**访问级别** 174 175系统接口 176 177**变更原因** 178 179CreateModalUIExtension创建的UIExtension可能被其他组件或窗口遮挡,造成安全风险。 180 181**变更影响** 182 183该变更为不兼容变更。 184 185CreateModalUIExtension增加禁止其他宿主进程组件遮挡的校验逻辑。 186 187CreateModalUIExtension防不安全窗口遮挡的默认行为变更,变更前后行为如下表所示。 188 189| 变更前 | 变更后 | 190| --- | --- | 191| CreateModalUIExtension默认行为为不防不安全窗口遮挡,允许自行设置防不安全窗口遮挡 | CreateModalUIExtension默认行为为防不安全窗口遮挡,且不允许取消防遮挡 | 192 193hideNonSecureWindows接口中不安全窗口的定义新增宿主创建的Dialog窗口,变更前后不安全窗口包含的窗口类型如下表所示。 194 195| 变更前 | 变更后 | 196| --- | --- | 197| 非系统全局悬浮窗<br>宿主创建的非系统子窗 | 非系统全局悬浮窗<br>宿主创建的非系统子窗<br>宿主创建的非系统Dialog窗口 | 198 199**起始API Level** 200 20111 202 203**变更发生版本** 204 205从OpenHarmony SDK 5.0.0.32开始。 206 207**变更的接口/组件** 208 209CreateModalUIExtension和hideNonSecureWindows接口。 210 211**适配指导** 212 213默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 214 215## cl.arkui.6 AlphabetIndexer组件autoCollapse属性默认值由false改为true 216 217**访问级别** 218 219公开接口 220 221**变更原因** 222 223自适应折叠模式使用场景更广,显示效果更加灵活,默认开启自适应折叠模式更符合开发者期望。 224 225**变更影响** 226 227该变更为不兼容变更。 228 229API version 12之前:autoCollapse属性默认值为false,当AlphabetIndexer组件高度不足时,不会折叠显示。 230 231 232 233API version 12及之后:autoCollapse属性默认值为true,当AlphabetIndexer组件高度不足时,会折叠显示。 234 235 236 237**起始API Level** 238 23911 240 241**变更发生版本** 242 243从OpenHarmony SDK 5.0.0.32开始。 244 245**变更的接口/组件** 246 247AlphabetIndexer组件 248 249**适配指导** 250 251默认行为变更,默认开启自适应折叠模式,若要关闭自适应折叠模式,可通过设置[autoCollapse](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-alphabet-indexer.md#autocollapse11)属性进行适配。 252 253## cl.arkui.7 元服务AppBar调整Z序到弹框之上 254**访问级别** 255 256公开接口 257 258**变更原因** 259 260元服务AppBar按钮在有弹框的情况下,只需点击一次即可拉起服务面板,使用户能够更方便的使用元服务。 261 262**变更影响** 263 264该变更为不兼容性变更,仅涉及UI显示效果,UI显示效果仅在元服务生效。 265 266API version 11及以前:bindMenu,AlertDialog,CustomDialog,bindPopup,bindSheet,bindContentCover等弹框层级都在AppBar之上。蒙层会覆盖AppBar。 267 268 269 270API version 12及以后:针对元服务,大部分弹框层级都在AppBar之下。AppBar按钮悬浮在蒙层之上,只点击一次即可拉起服务面板。 271 272 273 274涉及的弹框范围:bindMenu,AlertDialog,CustomDialog,bindPopup,bindSheet,bindContentCover等非子窗模式弹框。 275 276**起始API Level** 2779 278 279**变更发生版本** 280 281从OpenHarmony SDK 5.0.0.32开始。 282 283 284**适配指导** 285 286接口行为变更,无需适配. 287 288## cl.arkui.8 RichEditor组件builderSpan支持绑定自定义菜单 289 290**访问级别** 291 292公开接口 293 294**变更原因** 295 296富文本支持builderSpan绑定自定义菜单。 297 298**变更影响** 299 300该变更为不兼容变更。 301 302变更前:右击或长按builderSpan会弹出对RichEditorSpanType.IMAGE类型绑定的自定义菜单。 303 304变更后:新增自定义菜单绑定类型RichEditorSpanType.BUILDER,builderSpan和imageSpan分开绑定和弹出自定义菜单。右击或长按builderSpan不再弹出对RichEditorSpanType.IMAGE类型绑定的自定义菜单,而是弹出对RichEditorSpanType.BUILDER类型绑定的自定义菜单。 305 306**起始API Level** 307 30810 309 310 311**变更发生版本** 312 313从OpenHarmony SDK 5.0.0.32开始。 314 315**变更的接口/组件** 316 317RichEditor组件的RichEditorSpanType接口。 318 319**适配指导** 320 321若开发者需要右击或长按builderSpan时弹出RichEditorSpanType.IMAGE类型的自定义菜单,需要对该自定义菜单绑定RichEditorSpanType.BUILDER类型。 322```ts 323@Entry 324@Component 325struct Example { 326 @Builder 327 menu() { 328 Column() { 329 Text("自定义菜单"); 330 } 331 } 332 build() { 333 Column() { 334 RichEditor({controller: new RichEditorController()}) 335 // 变更前 336 .bindSelectionMenu(RichEditorSpanType.IMAGE, this.menu(), ResponseType.LongPress) 337 338 // 变更后 339 .bindSelectionMenu(RichEditorSpanType.IMAGE, this.menu(), ResponseType.LongPress) 340 // 绑定RichEditorSpanType.BUILDER类型 341 .bindSelectionMenu(RichEditorSpanType.BUILDER, this.menu(), ResponseType.LongPress) 342 } 343 } 344} 345``` 346 347## cl.arkui.9 文本计算接口fontSize参数默认单位实现修正 348 349**访问级别** 350 351公开接口 352 353**变更原因** 354 355fontSize参数在文档描述中number类型默认单位是fp,实际实现是vp。 356 357**变更影响** 358 359系统设置显示和亮度下字体大小使用标准字体,该变更为兼容变更,变更前后文本计算接口返回结果相同。 360 361系统设置显示和亮度下字体大小使用特大字体,该变更为不兼容变更。 362 363变更前:measureText接口的fontSize参数传入number类型数值,获取到的文本计算宽度小于实际文本显示所需宽度。 364 365变更后:measureText接口的fontSize参数传入number类型数值,获取到的文本计算宽度等于实际文本显示所需宽度。 366 367**起始API Level** 368 369measureText:9,measureTextSize:10 370 371**变更发生版本** 372 373从OpenHarmony SDK 5.0.0.32开始。 374 375**变更的接口/组件** 376 377measureText和measureTextSize接口。 378 379**适配指导** 380 381若在Text组件上,fontSize设置的是vp类型字号,则在measureText测算接口将fontSize的number类型参数改为string类型,传入vp类型字号参数。 382``` 383import { MeasureText } from '@kit.ArkUI' 384 385@Entry 386@Component 387struct Index { 388 @State text: string = "Hello world" 389 //变更前 390 @State textWidth: number = MeasureText.measureText({ 391 textContent: this.text, 392 fontSize: 24 393 }) 394 //变更后 395 @State textWidth2: number = MeasureText.measureText({ 396 textContent: this.text, 397 fontSize: '24vp' 398 }) 399 400 build() { 401 Row() { 402 Column() { 403 //被计算文本 404 Text(this.text).fontSize('24vp') 405 Text(`The width of '24vp Hello World': ${this.textWidth}`) 406 Text(`The another width of '24vp Hello World': ${this.textWidth2}`) 407 } 408 .width('100%') 409 } 410 .height('100%') 411 } 412} 413``` 414 415若在Text组件上,fontSize设置的是fp类型字号则无需适配,测算接口fontSize参数传入number类型数值和Text组件上使用的字号单位是一致的。 416 417## cl.arkui.10 光标默认样式变更 418 419**访问级别** 420 421系统接口 422 423**变更原因** 424 425默认样式变更。 426 427**变更影响** 428 429该变更为不兼容变更。 430 431变更前:光标小圆圈默认直径为20vp。 432 433变更后:光标小圆圈默认直径为16vp。 434 435变更前后对比效果,如下表所示 436| 变更前 | 变更后 | 437| --- | --- | 438| | | 439 440**起始API Level** 441 442不涉及公开接口。 443 444**变更发生版本** 445 446从OpenHarmony SDK 5.0.0.32开始。 447 448**变更的接口/组件** 449 450涉及光标的组件:TextInput、TextArea、Search、RichEditor。 451 452**适配指导** 453 454默认效果变更,无需适配。 455 456## cl.arkui.11 高级组件SelectionMenu默认样式变更 457 458**访问级别** 459 460系统接口 461 462**变更原因** 463 464默认样式变更。 465 466**变更影响** 467 468该变更为不兼容变更。 469 470变更前:自定义文本选择菜单点击“更多”后展开菜单会显示内置的置灰项分享翻译搜索。 471 472变更后:自定义文本选择菜单点击“更多”后展开菜单去除内置的置灰项分享翻译搜索。 473 474变更前后对比效果,如下表所示: 475 476| 变更前 | 变更后 | 477| --- | --- | 478| | | 479 480**起始API Level** 481 482不涉及公开接口。 483 484**变更发生版本** 485 486从OpenHarmony SDK 5.0.0.32开始。 487 488**变更的接口/组件** 489 490高级组件SelectionMenu。 491 492**适配指导** 493 494默认效果变更,无需适配。 495 496## cl.arkui.12 Svg根节点视窗外图片内容裁剪 497 498**访问级别** 499 500公开接口 501 502**变更原因** 503 504修正视觉效果以符合Svg标准。 505 506**变更影响** 507 508该变更为不兼容变更。 509 510``` 511<svg width="100" height="100" viewBox="0 0 300 300" version="1.1"> 512 <defs> 513 <circle id = "circleId" cx="100" cy="50" r="40" fill="red"/> 514 </defs> 515 <polygon points="220,100 300,210 170,250 123,234" style="fill:#cccccc;stroke:#000000;stroke-width:1"/> 516 <use href="#circleId" x = "300" y= "150" width="50" height="50"/> 517</svg> 518``` 519| 变更前 | 变更后 | 520|---------|---------| 521| 绘制内容超出根节点视窗区域会显示 | 绘制内容超出根节点视窗区域不显示 | 522|  |  | 523 524**起始API Level** 525 52612 527 528**变更发生版本** 529 530从OpenHarmony SDK 5.0.0.32 版本开始。 531 532**变更的接口/组件** 533 534涉及的组件:Image、ImageSpan、Canvas。 535 536**适配指导** 537 538默认行为变更,无需适配,但应注意变更后的行为是否对整体应用显示效果产生影响。 539 540## cl.arkui.13 子窗显示的toast不响应返回事件 541**访问级别** 542 543公开接口 544 545**变更原因** 546 547业界惯例toast不会响应返回手势事件,当前子窗下的toast会响应返回事件,不符合规范。 548 549**变更影响** 550 551该变更为不兼容变更。 552 553变更前:toast会响应返回手势,toast消失。 554 555变更后:toast不会响应返回手势,toast不消失,返回手势事件传递到页面其他组件。 556 557**起始API Level** 558 5599 560 561**变更发生版本** 562 563从OpenHarmony SDK 5.0.0.32开始。 564 565**变更的接口/组件** 566 567promptAction.showToast 568 569**适配指导** 570 571默认行为变更,无需适配,但应注意后续不支持通过返回手势退出toast。 572 573## cl.arkui.14 带按钮的气泡样式变更 574**访问级别** 575 576公开接口 577 578**变更原因** 579 580popup的按钮文本过长时,布局显示异常。 581 582**变更影响** 583 584该变更为不兼容变更。 585 586 587| 变更前 | 变更后 | 588|---------|---------| 589| 按钮文本的最大行数没有限制,按钮内容会相互交叉 | 最多可显示两行文本,文本逐渐缩小到9vp,仍然超长"..."省略 | 590|  |  | 591 592 593**起始API Level** 594 5957 596 597**变更发生版本** 598 599从OpenHarmony SDK 5.0.0.32开始。 600 601**变更的接口/组件** 602 603bindPopup 604 605**适配指导** 606 607默认效果变更,无需适配。 608 609## cl.arkui.15 toast样式变更 610**访问级别** 611 612公开接口 613 614**变更原因** 615 616toast文本有两行时,有概率出现文本居中显示,不符合规范,规范为toast多行显示时,需左对齐显示。 617 618**变更影响** 619 620该变更为不兼容变更。 621 622| 变更前 | 变更后 | 623|---------|---------| 624| 文本居中显示 | 文本左对齐显示 | 625|  |  | 626 627**起始API Level** 628 6299 630 631**变更发生版本** 632 633从OpenHarmony SDK 5.0.0.32开始。 634 635**变更的接口/组件** 636 637promptAction.showToast 638 639**适配指导** 640 641默认效果变更,无需适配。 642 643## cl.arkui.16 高级组件ComposeListItem右边按钮OperateItem类型为arrow或者arrow+text时,在没有配置action的时候,不需要单独响应点击效果,应显示全局的按压效果 644 645**访问级别** 646 647公开接口 648 649**变更原因** 650 651高级组件ComposeListItem整个组件分为左右两部分,左边是内容区,右边是按钮操作区。现在问题是右边操作区按钮的OperateItem类型为arrow或者arrow+text时,在没有提供action的时候,会单独响应点击效果,预期不应该显示的;需要修改为在没有提供action的时候,右侧操作区不应该响应单独点击效果,而是整个组件响应按压效果。 652 653**变更影响** 654 655该变更为不兼容变更。 656 657| 变更前 | 变更后 | 658|---------|---------| 659| 右侧操作区OperateItem类型为arrow或者arrow+text时,没有提供action,右侧操作区单独响应了阴影效果。 | 右侧操作区OperateItem类型为arrow或者arrow+text时,没有提供action,整个组件响应了阴影效果。 | 660|  |  | 661 662**起始API Level** 663 66411 665 666**变更发生版本** 667 668从OpenHarmony SDK 5.0.0.32开始。 669 670**变更的接口/组件** 671 672 高级组件ComposeListItem组件 673 674**适配指导** 675 676默认行为变更,无需适配。