openharmony 鸿蒙 changelogs-arkui

2026-08-25 浏览 (1)

ArkUI子系统Changelog

cl.arkui.1 WithTheme相关组件行为变更

访问级别

公开接口

变更原因

为提升主题功能的一致性与完整性,对下述场景下的组件行为进行优化适配。

  1. 当前已支持WithTheme的组件,在特定场景下部分组件未能正确应用WithTheme所设置的主题样式,与预期设计效果不符。

    • 弹窗类组件不跟随宿主节点的局部主题或深浅色样式。
    • 部分组件(组件范围见场景二)动态添加至WithTheme中后,不会跟随局部主题或深浅色变化而变化(例如通过ForEach+ListItem,将组件添加到WithTheme组件下)。
  2. 对于暂不支持WithTheme的组件,其样式不会响应WithTheme或默认主题setDefaultTheme设置的主题样式。

变更影响

此变更涉及应用适配。

场景一:弹窗类组件跟随宿主节点的WithTheme样式

变更前:宿主节点的bindMenubindPopupbindSheetCalendarPicker弹窗类组件弹出时,不跟随宿主节点的局部主题或深浅色样式。

变更后:宿主节点的bindMenubindPopupbindSheetCalendarPicker弹窗类组件弹出时,会跟随宿主节点的局部主题或深浅色样式。

场景二:动态添加到WithTheme的组件响应主题变化

变更前:当WithTheme的主题样式或深浅色发生动态变化时,后续动态添加到WithTheme中的组件不会同步响应这些变化。

变更后:当WithTheme的主题样式或深浅色发生动态变化时,后续动态添加到WithTheme中的组件会同步响应这些变化。

涉及场景涉及组件
动态添加场景ButtonMenuDatePickerTextPickerTimePickerCounterProgressTextClockLoadingProgressScrollAlphabetIndexerTabsTabContentSwiperIndicator

场景三:组件新增WithTheme支持能力

变更前:组件不受WithTheme或setDefaultTheme设置的样式影响,显示为系统默认样式。

变更后:组件会响应WithTheme或setDefaultTheme设置的样式,并优先显示对应的主题效果。

涉及场景涉及组件
组件新增WithTheme支持能力TextAreaSearchRichEditorImageImageAnimatorPatternLockQRCodeDataPanel文本选择菜单BadgestyleStringLocalBuilderTabsTabContentListItemGroupListItemArcListItemGridItemRefreshTextPickerTimePickerDatePickerCalendarPickerUIPickerComponentMenuItemmenuItemGroup

起始API Level

12

变更发生版本

从OpenHarmony SDK 7.0.0.22开始。

变更的接口/组件

WithThemeInterface、setDefaultTheme。

适配指导

  1. 若希望上述组件在WithTheme下保持变更前的行为,即继续跟随系统样式或系统深浅色模式,可将该组件放入WithTheme({ colorMode: ThemeColorMode.SYSTEM })组件下。

    @Entry
    @Component
    struct WithThemeExample {
      @State message: string = 'Hello World';
      @State arr: number[] = [];
      private index: number = 0;
      build() {
        Row() {
          Column() {
            Button("Add Element")
              .onClick(() => {
                this.arr.push(this.index++);
              })
            WithTheme({ colorMode: ThemeColorMode.DARK }) {
              List() {
                ForEach(this.arr, (item: number, index) => {
                  ListItem() {
                    Column() {
                      WithTheme({ colorMode: ThemeColorMode.SYSTEM }) {
                        Column() {
                          Button("Button In ForEach with COLOR_MODE_SYSTEM")
                        }
                      }
                    }
                  }
                })
              }
              .width('100%')
              .height('100%')
            }
          }
          .width('100%')
        }
        .height('100%')
      }
    }
    
  2. 如果WithTheme容器内的部分组件使用了固定颜色值,组件放入WithTheme中,生效WithTheme设置的样式时,可能影响显示效果。可通过将该组件放入新的WithTheme容器中,并将该容器的colorMode设置为ThemeColorMode.SYSTEM,恢复为变更前的行为。

    @Entry
    @Component
    struct WithThemeExample {
      @State arr: number[] = [];
      private index: number = 0
    
      build() {
        Row() {
          Column() {
            Button("Add Element")
              .onClick(() => {
                this.arr.push(this.index++);
              })
            WithTheme({ colorMode: ThemeColorMode.DARK }) {
              List() {
                ForEach(this.arr, (item: number, index) => {
                  ListItem() {
                    WithTheme({ colorMode: ThemeColorMode.SYSTEM }) {
                      Column() {
                        Text("Set ColorMode SYSTEM")
                          .fontColor("#FF383838")
                      }
                      .backgroundColor($r('sys.color.background_primary'))
    
                    }
                  }
                })
              }
              .width('100%')
              .height('100%')
            }
          }
          .width('100%')
        }
        .height('100%')
      }
    }
    

cl.arkui.2 ArkUI接口新增仅支持Stage模型的约束

访问级别

公共能力

变更原因

ArkUI存在API接口未明确标注所支持的模型标签,导致DevEco Studio和开发者无法准确感知FA模型和Stage模型的支持情况。

变更影响

此变更涉及应用适配。

变更前:ArkUI提供的API version 10及以上版本的接口,如果未明确标注模型标签,可在FA模型工程中使用。

变更后:ArkUI提供的API version 10及以上版本的接口,均补充仅支持Stage模型的标签,此时接口无法在FA模型中使用,会产生编译报错。

起始 API Level

10

变更发生版本

从OpenHarmony SDK 7.0.0.22开始。

变更的接口/组件

ArkUI API version 10及以上的全量接口。

适配指导

推荐使用Stage模型。Stage模型是当前系统主推的应用模型,请参考Stage模型开发概述FA模型开发概述了解模型差异,进行应用适配。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 i18n-ui-design

openharmony 鸿蒙 i18n-sorting-local

openharmony 鸿蒙 i18n-numbers-weights-measures

openharmony 鸿蒙 i18n-l10n

openharmony 鸿蒙 i18n-preferred-language

openharmony 鸿蒙 Readme-EN

openharmony 鸿蒙 i18n-language-region-display

openharmony 鸿蒙 pseudo-i18n-testing-translation

openharmony 鸿蒙 i18n-calendar

openharmony 鸿蒙 i18n-dst-transition

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/9XBmcihy