Xamarin在ScrollView问题中形成ListView

问题描述 投票:6回答:5

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

xamarin xamarin.android xamarin.forms
5个回答
8
投票

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

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


8
投票

对于本机端,您可以使用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;               
        }            
    }

3
投票

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

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

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


0
投票

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


0
投票

我使用它将固定到该高度的任何一行网格而listview将不会滚动

© www.soinside.com 2019 - 2024. All rights reserved.