ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next
ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next
### 发生了什么问题?
List组件同时使用`.chainAnimation(true)`与`.edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })`时发生的滑动异常
### 期望行为是什么?
列表应当可以流畅滑动
### 如何复现该缺陷
复现代码如下,在5.0.1(API13)的设备上,当上滑时高概率出现卡顿无法上滑
```ets
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
[@State](/user/State) message: string = 'Hello World';
[@State](/user/State) test_list: string[] = ['a', 'b', 'c']
build() {
RelativeContainer() {
List({ space: 10 }) {
ForEach(this.test_list, (item: string) => {
ListItem() {
Text(item)
}
.backgroundColor(Color.Gray)
.width('100%')
.height(40)
})
}
.width('100%')
.height('100%')
.chainAnimation(true)
.edgeEffect(EdgeEffect.Spring, { alwaysEnabled: true })
}
.height('100%')
.width('100%')
}
}
更多关于ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
感觉是个bug,看着像是开启chainAnimation后好像在临界的时候会一直重启边缘动画。等后续更新吧
更多关于ArkUI的一个bug,List组件滑动异常 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,ArkUI的List组件滑动异常可能是由于以下几个原因导致的:
-
布局问题:List组件的子项布局可能未正确设置,导致滑动时出现异常。检查子项的高度或宽度是否固定,避免动态变化引起布局错乱。
-
数据源更新:List组件的数据源在滑动过程中可能被频繁更新,导致渲染异常。确保数据源的更新操作在合适的时机进行,避免在滑动过程中频繁刷新。
-
性能问题:List组件加载大量数据时,可能因性能不足导致滑动卡顿或异常。优化数据加载逻辑,分批加载数据,减少单次渲染的负担。
-
事件冲突:List组件的滑动事件可能与其他手势事件冲突,导致滑动异常。检查是否有其他手势事件拦截了滑动事件,确保滑动事件的优先级。
-
版本兼容性:当前使用的ArkUI版本可能存在已知的滑动异常问题。检查是否有相关版本的更新或修复补丁,确保使用最新版本的ArkUI。
-
硬件加速:在某些设备上,硬件加速可能导致List组件滑动异常。尝试关闭硬件加速,观察是否有所改善。
-
嵌套滚动:List组件内部嵌套了其他可滚动组件,可能导致滑动冲突。检查并调整嵌套滚动组件的布局,避免滑动冲突。
如果上述方法无法解决问题,建议查看官方文档或社区论坛,获取更多关于List组件滑动异常的解决方案。