HarmonyOS Scroller调用currentOffset获取的偏移量异常?

阅读 432
1 个回答

问题根因及定位结论如下:

此为已知情况,已做澄清

scroller的currentOffset接口返回的总偏移量在触发跳转或数据更新后不准确,在回滑到顶部时会重新校准。

详细见:

WaterFlowLayoutMode12+枚举说明

原子化服务API:从API version12开始,该接口支持在原子化服务务中使用

系统能力:SystemCapability.ArkUl.ArkUI.Full

名称:

ALWAYS\_TOP\_DOWN

枚举值:0

描述:

默认的从上到下的布局模式。视窗内的Flowltem依赖视窗上方所有Flowltem的布局信息。因此跳转或切换

列数时,需要计算出上方所有的Flowltem的布局信息。

名称:SLIDING\_WINDOW

枚举值:1

描述:移动窗口式的布局模式。只考虑视窗内的布局信息,对视窗上方的Flowltem没有依赖关系,因此向后跳转或

切换列数时只需要布局视窗内的Flowltem。有频繁切换列数的场景的应用建议使用该模式。

说明:

1.无动画跳转到较远的位置时,会以目标位置为基准,向前或向后布局Flowltem。这之后如果滑回跳转前的位置,内容的布局效果

可能和之前不一致。这个效果会导致跳转后回滑到顶部时,顶部节点可能不对齐。所以该布局模式下会在滑动到顶部后自动调整布

局,保证顶部对齐。在有多个分组的情况下,会在滑动结束时调整在视见窗内的分组。

2.该模式不支持使用滚动条,就算设置了滚动条也无法显示。

3.不支持scroller的scrollTo接口。

4.scroller的currentOffset接口返回的总偏移量在触发跳转或数据更新后不准确,在回滑到顶部时会重新校准。

5.如果在同一帧内调用跳转(如无动画的scrollToIndex、scrollEdge)和输入偏移量(如滑动手势或滚动动画),两者都会生效。

文档链接

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-waterflow-V5\#waterflowlayoutmode12枚举说明

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进