在我的Xamarin表单应用程序中,ScrollView中有多个ListView控件。但在android中,滚动不适用于ListView。有没有替代解决方案?
您不应该将ListViews包含到ScrollView中,因为系统会混淆这两者的滚动行为。您需要重新设计页面时考虑到这一点。
示例:1)在StackLayout中使用ListViews 2)在ScrollView中使用TableViews
对于本机端,您可以使用set'NestedScrollingEnabled'属性为true。对于xamarin表单,您可以创建自定义渲染器并将“NestedScrollingEnabled”属性设置为true
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ListView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var listView = this.Control as Android.Widget.ListView;
listView.NestedScrollingEnabled = true;
}
}
ListView实现自己的滚动,可能与ScrollView冲突。
如果您需要能够在同一个ScrollView中滚动两个列表,您可以创建自定义视图(而不是使用单元格),将它们放在ScrollView内的StackLayout中
More about ListView performance,他们甚至解释了为什么你不应该在ScrollView中放置ListView
您是否考虑过使用一个列表视图而不是多个列表视图?
我使用它将固定到该高度的任何一行网格而listview将不会滚动