表单的自定义 RecyclerView
Custom RecyclerView for Forms
我在滚动查看器中显示大量视觉元素时遇到问题,我已经尝试了所有可能的方法来实现相同的方法,或者使用第 3 方水平列表视图(无法找到一个具有可变 column/element 宽度)或具有旋转的本机列表视图(给出奇怪的结果)。
给出结果的唯一方法是通过停靠在 scrollviewer 中的 stacklayout,我从代码中填充该 stacklayout。现在的问题是所有元素都被渲染,即使它们没有显示,所以它使应用程序非常慢。
我想过有一个 recyclerview(它存在于本机 android 中),但我找不到它的形式的方法,因为它只存在于 android 中。现在有人可以帮我吗?也许是自定义视图,它在 android 上使用回收器视图和任何类似的方法,或者可能是在 iOS 上使用常规滚动查看器?
提前致谢。
更新 #1
我可以使用此代码执行旋转列表视图选项 - 受此启发 -
<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, Property=Width, Factor=-0.5, Constant=37}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<BoxView Rotation="90" BackgroundColor="Beige" WidthRequest="200"/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</RelativeLayout>
但是我永远无法让这个框视图填充 while 单元格,它总是空的 space -框视图是一个占位符而不是其他自定义控件-。
有没有一种方法可以使框视图始终填充整个单元格高度并将其填充并扩展到它的 WidthRequest 属性 - 这将根据稍后绑定- ?
我通过使用带有自定义模板的列表视图找到了解决此类问题的方法,我在其中使用了多个滚动视图并将它们的移动链接在一起。在这里参考我的回答:
我在滚动查看器中显示大量视觉元素时遇到问题,我已经尝试了所有可能的方法来实现相同的方法,或者使用第 3 方水平列表视图(无法找到一个具有可变 column/element 宽度)或具有旋转的本机列表视图(给出奇怪的结果)。
给出结果的唯一方法是通过停靠在 scrollviewer 中的 stacklayout,我从代码中填充该 stacklayout。现在的问题是所有元素都被渲染,即使它们没有显示,所以它使应用程序非常慢。
我想过有一个 recyclerview(它存在于本机 android 中),但我找不到它的形式的方法,因为它只存在于 android 中。现在有人可以帮我吗?也许是自定义视图,它在 android 上使用回收器视图和任何类似的方法,或者可能是在 iOS 上使用常规滚动查看器?
提前致谢。
更新 #1
我可以使用此代码执行旋转列表视图选项 - 受此启发
<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, Property=Width, Factor=-0.5, Constant=37}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<BoxView Rotation="90" BackgroundColor="Beige" WidthRequest="200"/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</RelativeLayout>
但是我永远无法让这个框视图填充 while 单元格,它总是空的 space -框视图是一个占位符而不是其他自定义控件-。
有没有一种方法可以使框视图始终填充整个单元格高度并将其填充并扩展到它的 WidthRequest 属性 - 这将根据稍后绑定- ?
我通过使用带有自定义模板的列表视图找到了解决此类问题的方法,我在其中使用了多个滚动视图并将它们的移动链接在一起。在这里参考我的回答: