【问题标题】:Listview scroll issue when inside scrollview in xamarin forms在 xamarin 表单中的滚动视图内时出现 Listview 滚动问题
【发布时间】:2018-05-21 07:06:27
【问题描述】:

这是设计的原型:https://i.stack.imgur.com/JMDRA.png 如果 listView 在滚动视图内,我无法让它滚动。无论如何我可以在启用 Mainlayout 的滚动视图以及另一个布局内的 listView 滚动的同时进行。

【问题讨论】:

标签: c# xaml listview xamarin xamarin.forms


【解决方案1】:

应用程序开发人员不应将一个 ScrollView 嵌套在另一个中。 此外,他们应该避免嵌套其他元素 可以滚动的,比如WebView。

来源:官方doc

嵌套的 ScrollView 是灾难,只是不要那样做。 哪个控件将在用户交互时滚动?它会完全破坏用户体验、性能等。你必须重新考虑你的用户界面。

【讨论】:

    【解决方案2】:

    就像@EvZ 建议你不应该有一个 Listview 已经在 Scrollview 里面有一个 Scrollview 但不幸的是我们可能会在这种情况下结束。

    您可以使用此 Android 自定义渲染器让您的所有列表视图在滚动视图中工作。

    [assembly: ExportRenderer(typeof(Xamarin.Forms.ListView), typeof(ListViewScrollRenderer))]
    
    namespace Glu.Droid.Renderers
    {
        public class ListViewScrollRenderer : ListViewRenderer
        {
            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】:

      不要使用嵌套的滚动视图,您可以做的是使用按钮而不是列表视图,然后单击该列表视图作为弹出窗口的不同控制器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-28
        • 2020-05-15
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 2018-12-18
        相关资源
        最近更新 更多