Xamarin Forms-附加scrollview。滚动到一个函数

时间:2019-02-22 20:02:39

标签: c# android ios xamarin.forms scrollview

当我将滚动视图附加到这样的函数上

textScroll.Scrolled += (sender, e) => { onScrolled(); };

每次我向上或向下滚动时,都会多次调用OnScrolled()。我知道我可以获取内容的大小并将其与ScrollY值进行比较,显然ScrollY值每次都会更改,但是据我所知,我不知道最后一次调用发生的时间(按用户滚动)。 / p>

我只希望每次滚动都调用一次,但每次失败都无法调用,但是只有当我知道我在最后一次调用时才采取行动。

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:1)

有可能,但是每个平台都有一个自定义渲染器。

iOS 上,您将要实现DecelerationEndedWillEndDragging的委托。还实施DecelerationEnded的原因是允许用户 fling 并等待速度变为0。

Android 上,它有点复杂。这是我关注的原生Android SO帖子,并在渲染器中翻译为c#。对我来说效果很好。 Android: Detect when ScrollView stops scrolling

两种方法都实现后,您可以调用您的 Xamarin.Forms 视图,以通知该视图已停止滚动(即最终调用)