在xamarin表单中的scrollview内部时,Listview滚动问题

时间:2018-05-21 07:06:27

标签: c# xaml listview xamarin xamarin.forms

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

3 个答案:

答案 0 :(得分:2)

  

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

来源:官方doc

嵌套的ScrollViews是灾难,不要这样做。 哪个控件将在用户交互中滚动?它将彻底破坏用户体验,性能等。您必须重新考虑您的用户界面。

答案 1 :(得分:1)

不要使用嵌套的scrollview,而是你可以做的是使用按钮而不是listviews,点击那个show listview作为弹出窗口的不同控制器。

答案 2 :(得分:0)

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

您可以使用此Android自定义渲染器,使所有listview在scrollviews中工作。

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