表单的自定义RecyclerView

问题描述

在滚动查看器中显示大量视觉元素时,我遇到了一个问题,并且我尝试了所有可能的方法来实现相同的方法,或者使用第三方水平列表视图(无法找到带有可变的列/元素宽度)或旋转的本机列表视图(给出奇怪的结果)。

给出结果的唯一方法是通过停靠在scrollviewer中的stacklayout,从代码中填充该stacklayout。现在的问题是,即使未显示所有元素,也都将呈现它们,因此这会使应用程序非常慢。

我考虑过要有一个recyclerview(存在于本机android中),但我找不到它的形式,因为它仅存在于android中。现在有人可以帮我吗?也许是自定义视图,它在android上使用回收站视图以及任何类似方法,或者在iOS上使用常规的scrollviewer?

谢谢。

更新#1

我可以使用以下代码进行旋转的listview选项-受此answer-

的启发
<RelativeLayout>
    <ListView ItemsSource="{Binding Entries}" Rotation="-90" HasUnevenRows="True"
              RelativeLayout.XConstraint="{ConstraintExpression Type=RelativetoParent,Property=Width,Factor=0.5,Constant=-37}"
              RelativeLayout.YConstraint="{ConstraintExpression Type=RelativetoParent,Factor=-0.5,Constant=37}"
              RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativetoParent,Property=Height,Factor=1}"
              RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativetoParent,Factor=1}">

        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <BoxView Rotation="90" BackgroundColor="Beige" WidthRequest="200"/>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</RelativeLayout>

但是我永远无法使这个框视图填充while单元格,总是有空白-框视图是一个占位符,而不是其他自定义控件-。

是否存在一种使框视图始终填充整个单元格高度并填充并将其扩展到其 WidthRequest 属性方法-稍后根据绑定将动态变化-吗?

解决方法

通过使用带有自定义模板的列表视图,我找到了解决此问题的方法,在其中,我使用了几个滚动视图并将它们的运动链接在一起。请在这里参考我的答案:How to make multiple list views scroll together?