Lottie 动画(使用 SkiaSharp)不会显示在 collectionview.empyview 内容视图中

问题描述 投票:0回答:1

我对毛伊岛和这种动画有点陌生。我有一个自定义过滤器控件,用于检查输入的数据是否与存储在字典中的内容匹配。如果某些内容匹配,则集合视图的项目源将使用这些数据填充(保存在可观察集合中)。如果没有任何匹配,集合视图将为空,所以我定义了集合视图的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刷新,我已经把它粘贴回来了,它可以工作了......

我不知道如何解决这个问题。

我尝试在网上查找,但这类信息非常具体,很难找到。很遗憾我没有找到解决方案。

c# android-animation maui skiasharp android-lottie
1个回答
0
投票

如果我将它放在 contentview.emptyview 之外,并运行应用程序,它就可以正常工作......

您可以在 GitHub 上提出issue(将 SKLottieView 放入 contentview.emptyview 时会出现问题)。

如果可能的话,暂时不要使用空视图:(

© www.soinside.com 2019 - 2024. All rights reserved.