1# ArkUI子系统Changelog
2
3## cl.arkui.1 线性DataPanel组件默认圆角尺寸变更并可以自定义圆角尺寸
4
5**访问级别**
6
7公开接口
8
9**变更原因**
10
11线性DataPanel组件的圆角尺寸不能改变,导致开发者无法自定义线性DataPanel组件的圆角尺寸。新增支持自定义线性DataPanel组件的圆角尺寸,增强开发者自定义能力。
12
13**变更影响**
14
15该变更为非兼容性变更。
16
17变更前:
18线性DataPanel组件默认是胶囊形状。不能自定义线性DataPanel组件的圆角。
19
20变更后:
21线性DataPanel组件默认圆角的是小圆角。可以自定义线性DataPanel组件的圆角尺寸,调用borderRadius设置圆角尺寸。
22
23**API Level**
24
2512
26
27**变更发生版本**
28
29从OpenHarmony SDK 5.0.0.26开始。
30
31**适配指导**
32
33默认圆角效果变更,无需适配,如不接受变更后的默认圆角效果,可以调用borderRadius自定义修改圆角尺寸以达到预期。
34
35## cl.arkui.2 ScrollBar组件没有子节点时,支持显示默认样式的滚动条
36
37**访问级别**
38
39公开接口
40
41**变更原因**
42从API version 12开始,ScrollBar组件没有子节点时,支持显示默认样式的滚动条。
43
44**变更影响**
45
46该变更为非兼容性变更。
47
48API version 11及以前,ScrollBar组件没有子节点时,不显示滚动条。
49
50API version 12及以后,ScrollBar组件没有子节点时,支持显示默认样式的滚动条。
51
52**API Level**
53
5412
55
56**变更发生版本**
57
58从OpenHarmony SDK 5.0.0.26 版本开始。
59
60**变更的接口/组件**
61
62ScrollBar组件
63
64**适配指导**
65
66请查阅[ScrollBar组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-scrollbar.md)文档进行适配。
67
68## cl.arkui.3 UIExtensionComponent异常处理废弃onRelease和onResult,使用onTerminated和onError替代
69
70**访问级别**
71
72公开接口
73
74**变更原因**
75UIExtensionComponent异常处理回调分散
76
77**变更影响**
78
79该变更为非兼容性变更。
80
81API version 11及以前,被拉起的UIExtensionAbility意外Crash或被kill时,触发onRelease回调(错误码为1);被拉起的UIExtensionAbility调用terminateSelf时会触发onRelease回调(错误码为0);被拉起的UIExtensionAbility调用terminateSelfWithResult时会触发onRelease回调(错误码为0)和onResult回调。
82
83API version 12及以后,被拉起的UIExtensionAbility意外Crash或被kill时,触发onError回调(错误码为100014);被拉起的UIExtensionAbility调用terminateSelf时会触发onTerminated回调,其入参"code"取默认值"0","want"为"undefined";被拉起的UIExtensionAbility调用terminateSelfWithResult时会触发onTerminated回调,其携带的信息会传给回调函数的入参。
84
85**API Level**
86
8712
88
89**变更发生版本**
90
91从OpenHarmony SDK 5.0.0.26 版本开始。
92
93**变更的接口/组件**
94
95UIExtensionComponent组件
96
97**适配指导**
98
99请查阅[UIExtensionComponent组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-ui-extension-component-sys.md)文档进行适配。
100
101## cl.arkui.4 手势菜单复制,粘贴,全选,剪切按钮扩大选中区域的高度至40vp
102
103**访问级别**
104
105公开接口
106
107**变更原因**
108手势菜单复制、粘贴、全选、剪切按钮选中区域高度不符合简单易用标准
109
110**变更影响**
111
112该变更为非兼容性变更。
113
114API version 11及以前,手势菜单复制、粘贴、全选、剪切按钮扩中区域的高度为28vp。
115
116API version 12及以后,手势菜单复制、粘贴、全选、剪切按钮扩中区域的高度为40vp,且保持长按时视觉效果一致。
117
118**起始API Level**
119
12010
121
122**变更发生版本**
123
124从OpenHarmony SDK 5.0.0.26 版本开始。
125
126**变更的接口/组件**
127
128涉及菜单的组件:TextInput、TextArea、Search、RichEditor。
129
130**适配指导**
131
132默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。
133
134## cl.arkui.5 pickerDialog操作区按钮大小及间距调整
135
136**访问级别**
137
138公开接口
139
140**变更原因**
141
142修正视觉效果以获得更好的用户体验。
143
144**变更影响**
145
146该变更为非兼容性变更。
147
148| |变更前 | 变更后 |
149|---------|---------|---|
150| DatePickerDialog      |按钮大小:高36vp,宽150vp。 按钮边距:上18vp,左右20vp,下10vp。|按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。|
151| TimePickerDialog      |按钮大小:高36vp,宽150vp。 按钮边距:上24vp,左右20vp,下6vp。  |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。|
152| CalendarPickerDialog  | 按钮大小:高40vp,宽150vp。 按钮边距:上8vp,左右16vp,下16vp。 |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。|
153| TextPickerDialog      | 按钮大小:高36vp,宽150vp。 按钮边距:上32vp,左右20vp,下6vp。  |按钮大小:高度40vp,宽度自适应。 按钮边距:上16vp,左右16vp,下16vp,按钮之间16vp。|
154
155**起始API Level**
156
15712
158
159**变更发生版本**
160
161从OpenHarmony SDK 5.0.0.26 版本开始。
162
163**变更的接口/组件**
164
165涉及菜单的组件:CalendarPickerDialog、TextPickerDialog、DatePickerDialog、TimePickerDialog。
166
167**适配指导**
168
169默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。
170
171## cl.arkui.6 使用Path2D复制构造Path2D不生效
172
173**访问级别**
174
175公开接口
176
177**变更原因**
178
179变更前效果未达预期
180
181**变更影响**
182
183该变更为非兼容性变更。
184
185变更前:使用Path2D复制构造Path2D不生效
186
187变更后:使用Path2D复制构造Path2D可以创建出一个与原来的Path2D相同路径的Path2D
188
189**起始 API Level**
190
1918
192
193**变更发生版本**
194
195从OpenHarmony SDK 5.0.0.26 版本开始。
196
197**变更的接口/组件**
198
199Path2D
200
201**适配指导**
202
203默认效果变更,无需适配。但应注意变更后的效果是否符合预期。
204
205```ts
206@Entry
207@Component
208struct Demo {
209  private settings: RenderingContextSettings = new RenderingContextSettings(true)
210  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
211  private path2Da: Path2D = new Path2D()
212
213  build() {
214    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
215      Canvas(this.context)
216        .width('100%')
217        .height('50%')
218        .onReady(() => {
219          this.path2Da.rect(20, 20, 100, 100)
220          let path2Db = new Path2D(this.path2Da)
221          this.context.stroke(path2Db)
222        })
223    }
224    .width('100%')
225    .height('100%')
226  }
227}
228```
229
230![demo](figures/Path2D.png)
231
232## cl.arkui.7 使用PixelMap构造ImageBitmap不生效
233
234**访问级别**
235
236公开接口
237
238**变更原因**
239
240变更前效果未达预期
241
242**变更影响**
243
244该变更为非兼容性变更。
245
246变更前:使用PixelMap构造ImageBitmap不生效
247
248变更后:使用PixelMap构造ImageBitmap可以创建出ImageBitmap
249
250**起始 API Level**
251
2528
253
254**变更发生版本**
255
256从OpenHarmony SDK 5.0.0.26 版本开始。
257
258**变更的接口/组件**
259
260ImageBitmap
261
262**适配指导**
263
264默认效果变更,无需适配。但应注意变更后的效果是否符合预期。
265
266```ts
267@Entry
268@Component
269struct Demo {
270  private settings: RenderingContextSettings = new RenderingContextSettings(true)
271  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
272
273  build() {
274    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
275      Canvas(this.context)
276        .width('100%')
277        .height('50%')
278        .backgroundColor('#ffff00')
279        .onReady(() => {
280          this.context.fillStyle = "#00ff00"
281          this.context.fillRect(0, 0, 100, 100)
282          let pixel = this.context.getPixelMap(0, 0, 100, 100)
283          let image = new ImageBitmap(pixel)
284          this.context.drawImage(image, 100, 100)
285        })
286    }
287    .width('100%')
288    .height('100%')
289  }
290}
291
292```
293
294![demo](figures/ImageBitmap.png)
295
296## cl.arkui.8 ImageSpanAlignment BASELINE 效果调整
297
298**访问级别**
299
300公开接口
301
302**变更原因**
303
304ImageSpanAlignment BASELINE 原先显示效果与文档解释不符
305
306**变更影响**
307
308该变更为不兼容性变更。
309
3101. ImageSpan 组件的 ImageSpanAlignment BASELINE 效果调整,将图片底部与 baseline 进行对齐
311
312**起始API Level**
313
31412
315
316**变更发生版本**
317
318从OpenHarmony SDK 5.0.0.31开始。
319
320**适配指导**
321
322默认行为变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则自定义修改效果以达到预期。
323
324## cl.arkui.9 bindSheet半模态弹窗支持开发者设置底部弹窗样式
325
326**访问级别**
327
328公开接口
329
330**变更原因**
331
332半模态视觉增强
333
334**变更影响**
335
336该变更为不兼容变更。
337
338bindSheet的Option属性preferType,从枚举值变成了枚举,会影响开发者将preferType属性作为函数形参的场景。
339
340代码举例如:
341
342```ts
343// 函数foo,形参为SheetType的枚举值
344function foo(goog: SheetType.CENTER | SheetType.POPUP | undefined) {
345  // 函数内容
346};
347
348// 声明一个参数 = SheetOptions
349let op : SheetOptions = {
350  preferType : SheetType.CENTER
351};
352
353// foo函数调用op.preferType
354foo(op.preferType)
355
356```
357
358变更前:foo函数可以调用该变量
359
360变更后:foo函数调用该变量会报错,需要将foo函数的形参变更为SheetType枚举
361
362```ts
363// 函数foo,形参为SheetType枚举
364function foo(goog: SheetType | undefined) {
365  // 函数内容
366};
367```
368
369**起始API Level**
370
37111
372
373**变更发生版本**
374
375从OpenHarmony SDK 5.0.0.26开始。
376
377**适配指导**
378
379默认行为无变更,但需要处理上述函数传参场景。
380
381需要将函数foo的形参类型改成SheetType枚举,而不是枚举值。