列表视图,如Xamarin形式的老虎机

时间:2019-02-08 20:53:03

标签: c# listview xamarin xamarin.forms cross-platform

我在页面上有5个列表视图。每个列表视图都有一些文本列表。用户滚动它们以选择一个。

问题是:如何检测某项位于列表视图的中心,以将其选择为选定项,例如老虎机。

只有一个Item_Appearing事件定义了列表中下一个出现的项目,而不是居中的项目。

1 个答案:

答案 0 :(得分:0)

这类功能并不是Forms的特长,因此创建自定义控件可能是您的最佳选择。如果您对此不感兴趣,则可以在列表视图中进行两件事。

https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.listview.itemappearing?view=xamarin-forms

当项目出现在列表中时检测,这样您可以找出最靠近中心的项目。然后使用ScrollTo方法自动center the item。我看到的这种方法的最大问题是检测用户何时结束滚动,因为您不想在用户仍在滚动时将项目居中。如果这就像老虎机,用户可以“拉动手柄”,并且列表视图自动滚动,则您应该不会遇到此问题。