如何管理快速滚动?它消失了FlowListView中的单元格

时间:2018-09-17 10:10:27

标签: xamarin.forms xamarin.forms.listview

我是新来的。如果我的语言有点幼稚,请纠正我。

我正在使用FlowListView来显示FacebookAlbum Pictures。我用4列显示。因此,一个屏幕可以显示约32-36张图片。我从Facebook获取相册的所有图片,并将图片来源分配给FlowListView。

现在的问题是,如果用户有400张图片,它将以10-12滚动。如果用户缓慢滚动,它将正确呈现。但是,如果用户快速滚动,它将错过一些单元格并显示为空白。有时,1-2行为空白。 注意:如果我向上/向下滚动,则空白单元格图像可以正确渲染。有时,其他图像也会消失。

查看

<flv:FlowListView RowHeight="100" FlowColumnCount="4" SeparatorVisibility="None" HasUnevenRows="false"
FlowItemsSource="{Binding Photos}" IsVisible="{Binding IsLoading, Converter={StaticResource invertBooleanConverter}}">
    <flv:FlowListView.FlowColumnTemplate>
        <DataTemplate>
            <Image Aspect="AspectFill" Source="{Binding Picture}"/>
        </DataTemplate>
    </flv:FlowListView.FlowColumnTemplate>
</flv:FlowListView>

ViewModel

public ObservableCollection<FacebookPicture> Photos { get; set; }
private async Task SelectAlbumCommandExecute(string albumId)
{
    try
    {
        IsLoading = true;
        Photos = await getPhotos();
        await System.Threading.Tasks.Task.Delay(1000);
        IsLoading = false;
    }
    catch (Exception)
    {
    }
    finally
    {
        IsLoading = false;
    }
}

FacebookPicture类

public class FacebookPicture
{
    public string Picture { get; set; }
    public string Source { get; set; }
    public string id { get; set; }
}

enter image description here

0 个答案:

没有答案