HarmonyOS 鸿蒙Next:怎样获取List可滚动最大偏移量 或者 滚动偏移比例
HarmonyOS 鸿蒙Next:怎样获取List可滚动最大偏移量 或者 滚动偏移比例
效果如上
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组件(如ListContainer
、List
等)的可滚动最大偏移量或滚动偏移比例,你通常需要利用该组件的滚动监听接口。可以通过设置滚动监听器(如OnScrollListener
),在滚动事件回调中获取当前的滚动位置(getScrollY()
或类似方法,具体取决于组件API),并据此计算最大偏移量或偏移比例。
最大偏移量通常是内容总高度减去可视区域高度。偏移比例则是当前滚动位置除以最大偏移量。
如果问题依旧没法解决请加我微信,我的微信是itying888。