HarmonyOS Scroll组件回调事件问题

​Scroll组件回调事件onScroll(event: (xOffset: number, yOffset: number) => void),经测试,返回的xOffset,yOffset数值并不是滚动偏移量,而是滚动速度。

调用Scroll组件回调函数onScroll,获取参数yOffset。

获取到的数值发现与滚动偏移量无关,且经常为负数,经验证数值为滚动速度​。


HarmonyOS
2024-11-27 09:39:45
971浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

onscroll事件会丢失精度,建议用currentOffset来获取当前的滚动偏移量实现吸顶效果,代码如下:

.onScroll((xOffset: number, yOffset: number) => { 
  // console.log(yOffset.toString()) 
  // this.scrollY += yOffset 
 
  // this.tabPosY = this.topAreaHeight - this.scrollY <= 0 ? 0 : this.topAreaHeight - this.scrollY 
  this.tabPosY = this.topAreaHeight - this.scroller.currentOffset() 
    .yOffset <= 0 ? 0 : this.topAreaHeight - this.scroller.currentOffset() 
    .yOffset 
  // console.log(TAG, `Scrollview is scrolling, scrollY: ${this.scrollY}, tabPosY: ${this.tabPosY}`); 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
分享
微博
QQ
微信
回复
2024-11-27 14:50:31


相关问题
HarmonyOS Scroll组件onScroll异常
592浏览 • 1回复 待解决
HarmonyOS 事件
1026浏览 • 1回复 待解决
HarmonyOS Scroll方法执行改变
764浏览 • 1回复 待解决
HarmonyOS 点击事件方法
1028浏览 • 1回复 待解决
HarmonyOS Web组件
1182浏览 • 1回复 待解决
HarmonyOS 人脸识别问题
821浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
969浏览 • 1回复 待解决
HarmonyOS Slider值问题
733浏览 • 1回复 待解决
焦点事件onBlur/onFocus无法触发
2854浏览 • 1回复 待解决
HarmonyOS scroll组件问题
881浏览 • 1回复 待解决
Flutter - EventChannel问题
1035浏览 • 1回复 待解决
HarmonyOS 活体检测问题
1013浏览 • 1回复 待解决
HarmonyOS web组件停止JavaScript
751浏览 • 1回复 待解决