HarmonyOS 鸿蒙Next:怎样获取List可滚动最大偏移量 或者 滚动偏移比例

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:怎样获取List可滚动最大偏移量 或者 滚动偏移比例

cke_256.png

效果如上
1、菜单外层是一个List

2、指示器是一个Row+Stack 

通过List的滚动偏移比例设置Stack的offset

现在能获得List的实时滚动偏移量和已滚动总偏移量 也能获取List的宽度

问题是List子菜单加载后没法获取总偏移量而计算出便宜比例

5 回复

我已解决
 

.onDidScroll((scrollOffset: number, scrollState: ScrollState) => {
  //最大偏移量
  const maxOffsetX:number = CommonConstants.DEFAULT_60 * MenuList.length
  //实际偏移量
  this.contentOffset += scrollOffset
  this.indicatorOffset = this.contentOffset * vp2px(CommonConstants.DEFAULT_24) / maxOffsetX
})<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

通过累计scrollOffset 可以得到内容偏移量

楼主解决了么?同求

我现在用的api9 还没有权限看这个

在HarmonyOS(鸿蒙)开发中,要获取List组件(如ListContainerList等)的可滚动最大偏移量或滚动偏移比例,你通常需要利用该组件的滚动监听接口。可以通过设置滚动监听器(如OnScrollListener),在滚动事件回调中获取当前的滚动位置(getScrollY() 或类似方法,具体取决于组件API),并据此计算最大偏移量或偏移比例。

最大偏移量通常是内容总高度减去可视区域高度。偏移比例则是当前滚动位置除以最大偏移量。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部