• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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|![waterflow](figures/waterflow.png) |![waterflow-before](figures/waterflow-before.png) |![waterflow-after](figures/waterflow-after.png)  |
25
26
27**起始API Level**
28
29API 12
30
31**变更发生版本**
32
33从OpenHarmony 5.0.0.36 版本开始。
34
35**变更的接口/组件**
36
37WaterFlow组件布局模式WaterFlowLayoutMode.SLIDING_WINDOW38
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| ![](figures/tabs_before.gif) | ![](figures/tabs_after.gif) |
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|![Refresh_Before](figures/Refresh_Before.png)|![Refresh_After](figures/Refresh_After.png)|
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![advanced_popup_before](figures/advanced_popup_before.png)
221
222变更后:
2231、按钮与文本左侧对齐
2242、按钮上方与文本下方间距8vp
225
226![advanced_popup_after](figures/advanced_popup_after.png)
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默认效果变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则应自定义修改效果控制变量以达到预期。