我在页面上有5个列表视图。每个列表视图都有一些文本列表。用户滚动它们以选择一个。
问题是:如何检测某项位于列表视图的中心,以将其选择为选定项,例如老虎机。
只有一个Item_Appearing事件定义了列表中下一个出现的项目,而不是居中的项目。
答案 0 :(得分:0)
这类功能并不是Forms的特长,因此创建自定义控件可能是您的最佳选择。如果您对此不感兴趣,则可以在列表视图中进行两件事。
https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.listview.itemappearing?view=xamarin-forms
当项目出现在列表中时检测,这样您可以找出最靠近中心的项目。然后使用ScrollTo方法自动center the item。我看到的这种方法的最大问题是检测用户何时结束滚动,因为您不想在用户仍在滚动时将项目居中。如果这就像老虎机,用户可以“拉动手柄”,并且列表视图自动滚动,则您应该不会遇到此问题。