harmony 鸿蒙ArkUI子系统Changelog

  • 2025-06-16
  • 浏览 (5)

ArkUI子系统Changelog

cl.arkui.1 UIExtensionComponent增加使用约束

访问级别

系统接口

变更原因

变更前文档中UIExtensionComponent为系统接口,但在实现中并未做系统应用访问校验。

变更影响

该变更为不兼容变更。

UIExtensionComponent增加系统应用访问校验。

起始API Level

10

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

UIExtensionComponent组件。

适配指导

使用UIExtensionComponent的必须为系统应用。

cl.arkui.2 DatePickerDialog显示时间时分割线延长

访问级别

公开接口

变更原因

修正视觉效果以获得更好的用户体验。

变更影响

该变更为不兼容变更。

变更前 变更后

起始API Level

12

变更发生版本

从OpenHarmony SDK 5.0.0.32 版本开始。

变更的接口/组件

涉及的组件:DatePickerDialog。

适配指导

默认行为变更,无需适配。

cl.arkui.4 List的constraintSize设置生效

访问级别

公开接口

变更原因

List的布局行为和当前通用的布局约束优先的规格不一致。

变更影响

该变更为不兼容变更。

变更前,List不设置Height时,constraintSize的minHeight设置不生效。

变更后,List不设置Height时,constraintSize的minHeight设置会生效。

@Entry
@Component
struct ListExample {
  build() {
    List({ space: 5 }) {
      ForEach([1, 2, 3, 4, 5], (item: number) => {
        ListItem() {
          Text('' + item)
            .width('100%').height(50)
            .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF)
        }
      }, (item: string) => item)
    }
    .padding(5)
    .constraintSize({ minHeight: 500 })
    .backgroundColor(0xDCDCDC)
  }
}

如下是以上示例代码变更前后效果对比:

变更前 变更后

起始API Level

7

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

List组件的constraintSize接口。

适配指导

如果List没有设置height属性,且设置了constraintSize的minHeight属性。变更后minHeight属性生效,导致布局界面变化,如果需要保持之前的布局界面,可以删除constraintSize的minHeight属性。

如下代码,变更前constraintSize的minHeight属性不生效,变更后constraintSize的minHeight属性生效导致显示界面变化。

@Entry
@Component
struct ListExample {
  build() {
    List({ space: 5 }) {
      ForEach([1, 2, 3, 4, 5], (item: number) => {
        ListItem() {
          Text('' + item)
            .width('100%').height(50)
            .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF)
        }
      }, (item: string) => item)
    }
    .padding(5)
    .constraintSize({ minHeight: 500, maxHeight: 1000 })
    .backgroundColor(0xDCDCDC)
  }
}

删除constraintSize接口minHeight设置可以恢复之前的效果。

@Entry
@Component
struct ListExample {
  build() {
    List({ space: 5 }) {
      ForEach([1, 2, 3, 4, 5], (item: number) => {
        ListItem() {
          Text('' + item)
            .width('100%').height(50)
            .textAlign(TextAlign.Center).backgroundColor(0xFFFFFF)
        }
      }, (item: string) => item)
    }
    .padding(5)
    .constraintSize({ maxHeight: 1000 })
    .backgroundColor(0xDCDCDC)
  }
}

cl.arkui.5 模态UIExtension创建默认行为变更

访问级别

公开接口

变更原因

通过各个应用或者kit提供的开放能力创建出来的模态UIExtension,可能被三方应用组件或窗口遮挡,造成安全风险。 > 各个应用或者kit是通过CreateModalUIExtension这个系统接口来创建模态UIExtension, > 本质上是这个接口的默认行为发生了变化

变更影响

该变更为不兼容变更。

模态UIExtension不允许被不安全窗口遮挡,拉起模态UIExtension时,会隐藏三方应用已创建的不安全窗口和组件,并阻止三方应用创建新的不安全窗口

变更前后行为如下表所示:

变更前 变更后
允许不安全窗口遮挡,允许三方应用组件遮挡 不允许不安全窗口遮挡,不允许三方应用组件遮挡

不安全窗口的定义新增宿主创建的Dialog窗口,变更前后不安全窗口包含的窗口类型如下表所示。

变更前 变更后
非系统全局悬浮窗
宿主创建的非系统子窗
非系统全局悬浮窗
宿主创建的非系统子窗
宿主创建的非系统Dialog窗口

变更前

图中的权限弹窗就是一个模态UIExtension,该窗口弹出后,通话子窗口不会被隐藏 变更前

变更后

图中的权限弹窗就是一个模态UIExtension,该窗口弹出后,通话子窗口被隐藏,退出后通话子窗口重新展示

变更后

起始API Level

11

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

kit名称 接口名/组件名
Core File Kit DocumentViewPicker组件
Store Kit productViewManager.loadService
productViewManager.loadProduct
Media Library Kit PhotoAccessHelper.createDeleteRequest
PhotoAccessHelper. removeAssets
PhotoAccessHelper.showAssetsCreationDialog
PhotoAccessHelper.createAssetWithShortTermPermission
PhotoAccessHelper.select
Scan Kit scanBarcode.startScanForResult
Ads Kit advertising.showAd
AbilityKit AtManager.requestPermissionsFromUser
ShareKit SystemShare.show
Game Service Kit gamePlayer.init
gamePlayer.unionLogin
gamePlayer.getLocalPlayer
gamePlayer.verifyLocalPlayer
Map Kit sceneMap.chooseLocation
sceneMap.queryLocation
sceneMap.selectDistrict
Account Kit authentication.executeRequest.LoginWithHuaweiID
authentication.executeRequest.AuthorizationWithHuaweiID
extendService.verifyAccount
extendService.startAccountCenter
loginComponent.LoginWithHuaweiIDButton
loginComponent.LoginPanel
loginComponent.startFacialRecognitionVerification
realName.startFacialRecognitionVerification
shippingAddress.chooseAddress
minorsProtection.verifyMinorsProtectionCredential
minorsProtection.leadToTurnOnMinorsMode
minorsProtection.leadToTurnOffMinorsMode
ArkUI TextInput输入框组件(仅系统密码自动填充服务场景涉及,
InputType设置为USER_NAME/Password/NEW_PASSWORD类型)

适配指导

默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。

cl.arkui.6 AlphabetIndexer组件autoCollapse属性默认值由false改为true

访问级别

公开接口

变更原因

自适应折叠模式使用场景更广,显示效果更加灵活,默认开启自适应折叠模式更符合开发者期望。

变更影响

该变更为不兼容变更。

API version 12之前:autoCollapse属性默认值为false,当AlphabetIndexer组件高度不足时,不会折叠显示。

AlphabetIndexer_Before

API version 12及之后:autoCollapse属性默认值为true,当AlphabetIndexer组件高度不足时,会折叠显示。

AlphabetIndexer_After

起始API Level

11

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

AlphabetIndexer组件

适配指导

默认行为变更,默认开启自适应折叠模式,若要关闭自适应折叠模式,可通过设置autoCollapse属性进行适配。

cl.arkui.7 元服务AppBar调整Z序到弹框之上

访问级别

公开接口

变更原因

元服务AppBar按钮在有弹框的情况下,只需点击一次即可拉起服务面板,使用户能够更方便的使用元服务。

变更影响

该变更为不兼容性变更,仅涉及UI显示效果,UI显示效果仅在元服务生效。

API version 11及以前:bindMenu,AlertDialog,CustomDialog,bindPopup,bindSheet,bindContentCover等弹框层级都在AppBar之上。蒙层会覆盖AppBar。

AtomicServiceAppBar_Before

API version 12及以后:针对元服务,大部分弹框层级都在AppBar之下。AppBar按钮悬浮在蒙层之上,只点击一次即可拉起服务面板。

AtomicServiceAppBar_After

涉及的弹框范围:bindMenu,AlertDialog,CustomDialog,bindPopup,bindSheet,bindContentCover等非子窗模式弹框。

起始API Level 9

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

适配指导

接口行为变更,无需适配.

cl.arkui.8 RichEditor组件builderSpan支持绑定自定义菜单

访问级别

公开接口

变更原因

富文本支持builderSpan绑定自定义菜单。

变更影响

该变更为不兼容变更。

变更前:右击或长按builderSpan会弹出对RichEditorSpanType.IMAGE类型绑定的自定义菜单。

变更后:新增自定义菜单绑定类型RichEditorSpanType.BUILDER,builderSpan和imageSpan分开绑定和弹出自定义菜单。右击或长按builderSpan不再弹出对RichEditorSpanType.IMAGE类型绑定的自定义菜单,而是弹出对RichEditorSpanType.BUILDER类型绑定的自定义菜单。

起始API Level

10

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

RichEditor组件的RichEditorSpanType接口。

适配指导

若开发者需要右击或长按builderSpan时弹出RichEditorSpanType.IMAGE类型的自定义菜单,需要对该自定义菜单绑定RichEditorSpanType.BUILDER类型。

@Entry
@Component
struct Example {
    @Builder
    menu() {
        Column() {
            Text("自定义菜单");
        }
    }
    build() {
        Column() {
            RichEditor({controller: new RichEditorController()})
                // 变更前
                .bindSelectionMenu(RichEditorSpanType.IMAGE, this.menu(), ResponseType.LongPress)

                // 变更后
                .bindSelectionMenu(RichEditorSpanType.IMAGE, this.menu(), ResponseType.LongPress)
                // 绑定RichEditorSpanType.BUILDER类型
                .bindSelectionMenu(RichEditorSpanType.BUILDER, this.menu(), ResponseType.LongPress)
        }
    }
}

cl.arkui.9 文本计算接口fontSize参数默认单位实现修正

访问级别

公开接口

变更原因

fontSize参数在文档描述中number类型默认单位是fp,实际实现是vp。

变更影响

系统设置显示和亮度下字体大小使用标准字体,该变更为兼容变更,变更前后文本计算接口返回结果相同。

系统设置显示和亮度下字体大小使用特大字体,该变更为不兼容变更。

变更前:measureText接口的fontSize参数传入number类型数值,获取到的文本计算宽度小于实际文本显示所需宽度。

变更后:measureText接口的fontSize参数传入number类型数值,获取到的文本计算宽度等于实际文本显示所需宽度。

起始API Level

measureText:9,measureTextSize:10

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

measureText和measureTextSize接口。

适配指导

若在Text组件上,fontSize设置的是vp类型字号,则在measureText测算接口将fontSize的number类型参数改为string类型,传入vp类型字号参数。

import { MeasureText } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  @State text: string = "Hello world"
  //变更前
  @State textWidth: number = MeasureText.measureText({
    textContent: this.text,
    fontSize: 24
  })
  //变更后
  @State textWidth2: number = MeasureText.measureText({
    textContent: this.text,
    fontSize: '24vp'
  })

  build() {
    Row() {
      Column() {
        //被计算文本
        Text(this.text).fontSize('24vp')
        Text(`The width of '24vp Hello World': ${this.textWidth}`)
        Text(`The another width of '24vp Hello World': ${this.textWidth2}`)
      }
      .width('100%')
    }
    .height('100%')
  }
}

若在Text组件上,fontSize设置的是fp类型字号则无需适配,测算接口fontSize参数传入number类型数值和Text组件上使用的字号单位是一致的。

cl.arkui.10 光标默认样式变更

访问级别

系统接口

变更原因

默认样式变更。

变更影响

该变更为不兼容变更。

变更前:光标小圆圈默认直径为20vp。

变更后:光标小圆圈默认直径为16vp。

变更前后对比效果,如下表所示 |变更前|变更后| |—|—| |caretsquare_before|caretsquare_after|

起始API Level

不涉及公开接口。

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

涉及光标的组件:TextInput、TextArea、Search、RichEditor。

适配指导

默认效果变更,无需适配。

cl.arkui.11 高级组件SelectionMenu默认样式变更

访问级别

系统接口

变更原因

默认样式变更。

变更影响

该变更为不兼容变更。

变更前:自定义文本选择菜单点击“更多”后展开菜单会显示内置的置灰项分享翻译搜索。

变更后:自定义文本选择菜单点击“更多”后展开菜单去除内置的置灰项分享翻译搜索。

变更前后对比效果,如下表所示:

变更前 变更后
selectionmenu_before selectionmenu_after

起始API Level

不涉及公开接口。

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

高级组件SelectionMenu。

适配指导

默认效果变更,无需适配。

cl.arkui.12 Svg根节点视窗外图片内容裁剪

访问级别

公开接口

变更原因

修正视觉效果以符合Svg标准。

变更影响

该变更为不兼容变更。

<svg width="100" height="100" viewBox="0 0 300 300" version="1.1">
    <defs>
        <circle id = "circleId" cx="100" cy="50" r="40"  fill="red"/>
    </defs>
    <polygon points="220,100 300,210 170,250 123,234" style="fill:#cccccc;stroke:#000000;stroke-width:1"/>
    <use href="#circleId" x = "300" y= "150" width="50" height="50"/>
</svg>
变更前 变更后
绘制内容超出根节点视窗区域会显示 绘制内容超出根节点视窗区域不显示
SvgContentBefore SvgContentAfter

起始API Level

12

变更发生版本

从OpenHarmony SDK 5.0.0.32 版本开始。

变更的接口/组件

涉及的组件:Image、ImageSpan、Canvas。

适配指导

默认行为变更,无需适配,但应注意变更后的行为是否对整体应用显示效果产生影响。

cl.arkui.13 子窗显示的toast不响应返回事件

访问级别

公开接口

变更原因

业界惯例toast不会响应返回手势事件,当前子窗下的toast会响应返回事件,不符合规范。

变更影响

该变更为不兼容变更。

变更前:toast会响应返回手势,toast消失。

变更后:toast不会响应返回手势,toast不消失,返回手势事件传递到页面其他组件。

起始API Level

9

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

promptAction.showToast

适配指导

默认行为变更,无需适配,但应注意后续不支持通过返回手势退出toast。

cl.arkui.14 带按钮的气泡样式变更

访问级别

公开接口

变更原因

popup的按钮文本过长时,布局显示异常。

变更影响

该变更为不兼容变更。

变更前 变更后
按钮文本的最大行数没有限制,按钮内容会相互交叉 最多可显示两行文本,文本逐渐缩小到9vp,仍然超长”…“省略
Popup_Before Popup_After

起始API Level

7

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

bindPopup

适配指导

默认效果变更,无需适配。

cl.arkui.15 toast样式变更

访问级别

公开接口

变更原因

toast文本有两行时,有概率出现文本居中显示,不符合规范,规范为toast多行显示时,需左对齐显示。

变更影响

该变更为不兼容变更。

变更前 变更后
文本居中显示 文本左对齐显示
Toast_Before Toast_After

起始API Level

9

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

promptAction.showToast

适配指导

默认效果变更,无需适配。

cl.arkui.16 高级组件ComposeListItem右边按钮OperateItem类型为arrow或者arrow+text时,在没有配置action的时候,不需要单独响应点击效果,应显示全局的按压效果

访问级别

公开接口

变更原因

高级组件ComposeListItem整个组件分为左右两部分,左边是内容区,右边是按钮操作区。现在问题是右边操作区按钮的OperateItem类型为arrow或者arrow+text时,在没有提供action的时候,会单独响应点击效果,预期不应该显示的;需要修改为在没有提供action的时候,右侧操作区不应该响应单独点击效果,而是整个组件响应按压效果。

变更影响

该变更为不兼容变更。

变更前 变更后
右侧操作区OperateItem类型为arrow或者arrow+text时,没有提供action,右侧操作区单独响应了阴影效果。 右侧操作区OperateItem类型为arrow或者arrow+text时,没有提供action,整个组件响应了阴影效果。
ComposeListItem_before ComposeListItem_after

起始API Level

11

变更发生版本

从OpenHarmony SDK 5.0.0.32开始。

变更的接口/组件

高级组件ComposeListItem组件

适配指导

默认行为变更,无需适配。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙方舟2D图形服务变更说明

harmony 鸿蒙Arkts子系统变更说明

harmony 鸿蒙ArkData方舟数据管理变更说明

0  赞