【问题标题】:Is there a way to synchronize the scroll of two different scroll views which are on the same page?有没有办法同步同一页面上两个不同滚动视图的滚动?
【发布时间】:2019-07-12 22:28:11
【问题描述】:

我的应用中有两个滚动视图。第一个包含水平工作的列表的标题,第二个包含水平和垂直工作的列表(在两个方向上)。所以现在我想同步两个滚动视图的滚动。我希望两个滚动视图同时工作。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 没什么,因为我不知道该怎么做。

标签: xaml xamarin xamarin.forms xamarin.android


【解决方案1】:

您需要查看 Scroll 事件和 ScrollView 的 Scroll To 委托操作

Scrolled事件文档可以在here找到

ScrollToAsync 文档可以在here找到

根据您想要实现的具体目标,您可以分配每个ScrollViewScrollView.Scrolled 事件:

ScrollView.Scrolled += ()=>{
     // If vertical get Scroll Y and translate it to your second ScrollViews Scroll X
     SecondScrollView.ScrollToAsync(ScrollView.ScrollX, SecondScrollView.ScrollY, true)
}

SecondScrollView.Scrolled += ()=>{
     // If vertical get Scroll X and translate it to your first ScrollViews Scroll Y
     ScrollView.ScrollToAsync(SecondScrollView.ScrollX, ScrollView.ScrollY, true)
}

我还没有机会测试上述内容,这更像是一个让您朝着正确方向前进的快速示例,您必须注意行为明智的一些事情是当 ScrollToAsync 被称为它时可能会触发 ScrollView 的滚动事件,因此您需要处理它以确保没有一些奇怪的递归行为。

【讨论】:

  • @PrãshantSaraswat 很高兴听到它,如果我上面的回答解决了您的问题,请随时将其标记为答案 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 2013-08-14
  • 2019-10-26
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
相关资源
最近更新 更多