Xamarin在ScrollView问题中形成ListView

时间:2016-05-25 08:13:18

标签: xamarin xamarin.android xamarin.forms

在我的Xamarin表单应用程序中,ScrollView中有多个ListView控件。但在android中,滚动不适用于ListView。有没有替代方案?

5 个答案:

答案 0 :(得分:8)

你不应该将ListViews包含在ScrollView中,因为它会混淆这两者的滚动行为。 您需要考虑到这一点重新设计页面。

实施例: 1)在StackLayout中使用ListViews 2)在ScrollView中使用TableViews

答案 1 :(得分:8)

你可以简单地使用set' NestedScrollingEnabled'属于本机的属性。 对于xamarin表单,您可以创建自定义渲染器并设置' NestedScrollingEnabled'属性真实

    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;               
        }            
    }

答案 2 :(得分:3)

ListView实现了自己的滚动,可能与ScrollView冲突。

如果您需要能够在同一个ScrollView中滚动两个列表,您可以创建自定义视图(而不是使用单元格),将它们放在ScrollView内的StackLayout中

More about ListView performance,他们甚至解释了为什么你不应该在ScrollView中放置ListView

答案 3 :(得分:0)

您是否考虑过使用一个列表视图而不是多个列表视图?

答案 4 :(得分:0)

我使用了可以固定到该高度的任何网格,并且列表视图不会滚动