我对毛伊岛和这种动画有点陌生。我有一个自定义过滤器控件,用于检查输入的数据是否与存储在字典中的内容匹配。如果某些内容匹配,则集合视图的项目源将使用这些数据填充(保存在可观察集合中)。如果没有任何匹配,集合视图将为空,所以我定义了集合视图的emptyview属性,如下所示:
<CollectionView.EmptyView>
<ContentView MinimumHeightRequest="485" IsVisible="{Binding IsEmpty}">
<VerticalStackLayout HorizontalOptions="CenterAndExpand" VerticalOptions="StartAndExpand"
Spacing="30"
Margin="0, 0, 0, 0">
<Grid HorizontalOptions="CenterAndExpand" VerticalOptions="StartAndExpand">
<lottie:SKLottieView Source="earthanimation.json"
RepeatCount="-1"
HeightRequest="350"
WidthRequest="350"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
<Label Text="NOT FOUND" TextColor="LightBlue"
FontFamily="FAR" FontSize="30" FontAttributes="Bold"
VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand"/>
</Grid>
<Label Text="Location not found"
FontSize="15" FontFamily="Conthrax"
HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"/>
</VerticalStackLayout>
</ContentView>
</CollectionView.EmptyView>
请注意,我已经绑定了 IsVisible 属性,这是因为当点击过滤器条目时,会触发某些内容并显示空视图,即使我没有搜索任何内容。所以我只在实际搜索过程返回 0 个匹配时才使其可见。 这只是为了澄清对此的任何疑问。
一切工作正常,除了lottie动画之外,它没有显示任何内容,使其工作的唯一方法是在调试中,当应用程序运行时,我删除了lottie控件,然后一旦UI刷新,我已经把它粘贴回来了,它可以工作了......
我不知道如何解决这个问题。
我尝试在网上查找,但这类信息非常具体,很难找到。很遗憾我没有找到解决方案。
如果我将它放在 contentview.emptyview 之外,并运行应用程序,它就可以正常工作......
您可以在 GitHub 上提出issue(将 SKLottieView 放入 contentview.emptyview 时会出现问题)。
如果可能的话,暂时不要使用空视图:(