我希望让我的跨平台移动应用程序更具原生感,我想知道是否有办法修改 SparkScroller
在过度滚动时的行为方式(当用户滚动超出视口范围时)。基本上,当前的实现几乎完全匹配 iOS,但在 Android 上感觉不合适(iOS“反弹”,显示不在视口中的区域。Android 停在视口的边界并且边缘发光)。
是否有内置方法来修改此行为?我还没有遇到任何选项,但我想在我去扩展 Scroller 以尝试添加此类功能之前确保是这种情况。
我希望让我的跨平台移动应用程序更具原生感,我想知道是否有办法修改 SparkScroller
在过度滚动时的行为方式(当用户滚动超出视口范围时)。基本上,当前的实现几乎完全匹配 iOS,但在 Android 上感觉不合适(iOS“反弹”,显示不在视口中的区域。Android 停在视口的边界并且边缘发光)。
是否有内置方法来修改此行为?我还没有遇到任何选项,但我想在我去扩展 Scroller 以尝试添加此类功能之前确保是这种情况。
你可以用这个很容易地消除拉动和反弹效果:
scroller.mx_internal::bounceEnabled = false;
scroller.mx_internal::pullEnabled = false;
我不认为你可以阻止用户很容易地滚动过去。看起来您需要扩展 Scroller 并覆盖该方法:
mx_internal function performDrag(dragX:Number, dragY:Number):void
让 super.performDrag() 运行,然后检查 viewport.horizontalScrollPosition 或 viewport.verticalScrollPosition 是否超出范围(< 0 或 > (height/width - contentWidth/Height))。