1# ArkUI子系统Changelog 2 3## cl.arkui.1 移动窗口布局模式瀑布流行为变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11优化[移动窗口布局模式](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md#waterflowlayoutmode12)瀑布流使用LazyForEach增删节点时布局方式。 12 13**变更影响** 14 15该变更为不兼容变更。 16 17变更前:在显示范围上方增加节点,显示范围节点会下移;在显示范围上方删除节点,显示范围节点会上移 18 19变更后:在显示范围上方增删节点,显示范围不变 20 21下表显示在显示范围上方增加一个节点时变更前后的效果对比: 22| 增加节点前|变更前:图7显示到原图8的位置 | 变更后:图8位置不变 | 23| --- |--- | --- | 24| | | | 25 26 27**起始API Level** 28 29API 12 30 31**变更发生版本** 32 33从OpenHarmony 5.0.0.36 版本开始。 34 35**变更的接口/组件** 36 37WaterFlow组件布局模式WaterFlowLayoutMode.SLIDING_WINDOW。 38 39**适配指导** 40 41默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 42 43## cl.arkui.2 Tabs组件的页签可滚动且为非子页签样式时增加页签默认切换动效 44 45**访问级别** 46 47公开接口 48 49**变更原因** 50 51快速连续切换页签时,页签产生跳变现象,视觉效果不佳。 52 53**变更影响** 54 55该变更为兼容性变更。 56 57变更前:Tabs组件的barMode为BarMode.Scrollable,TabContent组件的tabBar为子页签样式时有默认切换动效,即切换页签后,选中页签执行动画平移至tabBar中间位置。但非子页签样式时无默认切换动效,即切换页签后,选中页签立即跳变至tabBar中间位置。 58 59变更后:Tabs组件的barMode为BarMode.Scrollable,TabContent组件的tabBar为任意页签样式时均有默认切换动效,切换动效的时长为Tabs组件的animationDuration属性值。 60 61| 变更前 | 变更后 | 62|---------|---------| 63|  |  | 64 65**起始API Level** 66 677 68 69**变更发生版本** 70 71从OpenHarmony SDK 5.0.0.36开始。 72 73**变更的接口/组件** 74 75Tabs组件 76 77**适配指导** 78 79若希望关闭页签的默认切换动效,可设置Tabs组件的animationDuration属性值为0,但同时TabContent页面的默认切换动效也会被关闭。示例代码如下: 80```ts 81@Entry 82@Component 83struct TabsSample { 84 @State currentIndex: number = 0; 85 86 @Builder TabBuilder(index: number, name: string) { 87 Text(name) 88 .fontColor(this.currentIndex === index ? Color.White : Color.Black) 89 .fontSize(this.currentIndex === index ? 18 : 16) 90 .fontWeight(this.currentIndex === index ? 500 : 400) 91 .textAlign(TextAlign.Center) 92 .width(100) 93 .height(48) 94 .margin({ left: 4, right: 4 }) 95 .backgroundColor(this.currentIndex === index ? '#007DFF' : '#F1F3F5') 96 .borderRadius(24) 97 } 98 99 build() { 100 Column() { 101 Tabs({ index: this.currentIndex }) { 102 TabContent() { 103 Column().width('100%').height('100%').backgroundColor('#00CB87') 104 }.tabBar(this.TabBuilder(0, 'green')) 105 106 TabContent() { 107 Column().width('100%').height('100%').backgroundColor('#007DFF') 108 }.tabBar(this.TabBuilder(1, 'blue')) 109 110 TabContent() { 111 Column().width('100%').height('100%').backgroundColor('#FFBF00') 112 }.tabBar(this.TabBuilder(2, 'yellow')) 113 114 TabContent() { 115 Column().width('100%').height('100%').backgroundColor('#E67C92') 116 }.tabBar(this.TabBuilder(3, 'pink')) 117 } 118 .height(300) 119 .barMode(BarMode.Scrollable, { margin: 16 }) 120 .fadingEdge(false) 121 .animationDuration(0) 122 .onChange((index: number) => { 123 this.currentIndex = index 124 }) 125 }.width('100%') 126 } 127} 128``` 129 130## cl.arkui.3 Refresh组件promptText参数设置为undefined时清空文本内容 131 132**访问级别** 133 134公开接口 135 136**变更原因** 137 138Refresh组件通过promptText参数可传入文本字符串显示在刷新区域,该参数设置为undefined时未清空文本内容,不符合ArkUI通用规范,变更后开发者可设置该参数为undefined清空文本内容。 139 140**变更影响** 141 142该变更为不兼容变更。 143 144变更前,promptText参数设置为undefined时会保持当前值不变,刷新区域显示对应文本内容。 145 146变更后,promptText参数设置为undefined时会清空当前文本内容,刷新区域不显示文本内容。 147 148| 变更前 | 变更后 | 149|---------|---------| 150||| 151 152**起始API Level** 153 15412 155 156**变更发生版本** 157 158从OpenHarmony SDK 5.0.0.36开始。 159 160**变更的接口/组件** 161 162Refresh组件promptText参数 163 164**适配指导** 165 166开发者需要判断变更后promptText参数设置undefined时清空文本内容后的效果是否符合预期,如不符合可通过对[Refresh组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-refresh.md)promptText参数设置期望值以达到预期。 167 168```ts 169@Entry 170@Component 171struct RefreshExample { 172 @State isRefreshing: boolean = false 173 @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] 174 @State promptText: string|undefined = "Loading..." 175 176 build() { 177 Column() { 178 Refresh({ refreshing: $$this.isRefreshing , 179 promptText: this.promptText // 设置刷新区域显示文本内容,设置为undefined时清空文本内容 180 }) { 181 List() { 182 ForEach(this.arr, (item: string) => { 183 ListItem() { 184 Text('' + item) 185 .width('80%').height(100).fontSize(16).margin(10) 186 .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) 187 } 188 }, (item: string) => item) 189 } 190 .width('100%') 191 .height('100%') 192 .alignListItem(ListItemAlign.Center) 193 .scrollBar(BarState.Off) 194 } 195 .backgroundColor(0x89CFF0) 196 .refreshOffset(96) 197 } 198 } 199} 200``` 201 202## cl.arkui.4 Popup(气泡组件)UX样式变更 203 204**访问级别** 205 206公开接口 207 208**变更原因** 209 210Popup(气泡组件)UX样式不符合规范 211 212**变更影响** 213 214该变更为不兼容变更。 215 216变更前: 2171、按钮与文本左侧没有对齐 2182、按钮上方与文本下方间距不足8vp 219 220 221 222变更后: 2231、按钮与文本左侧对齐 2242、按钮上方与文本下方间距8vp 225 226 227 228**起始API Level** 229 230API 11 231 232**变更发生版本** 233 234从OpenHarmony SDK 5.0.0.36开始。 235 236**变更的接口/组件** 237 238Popup(气泡组件) 239 240**适配指导** 241 242默认效果变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则应自定义修改效果控制变量以达到预期。