如何在Android上使用Uno Lottie



创建了如下所述的简单动画:https://learn.microsoft.com/en-us/windows/communitytoolkit/animations/lottie-scenarios/getting_started_json

<controls:AnimatedVisualPlayer AutoPlay="True" Width="90" Height="90">
<lottie:LottieVisualSource UriSource="ms-appx:///Utils/17477-orange-payment.json"/>
<controls:AnimatedVisualPlayer>

它适用于UWP,而不适用于Android。

我引用的内容:

UWP
<PackageReference Include="Microsoft.Extensions.Logging.Console">
<Version>1.1.2</Version>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging.Filter">
<Version>1.1.2</Version>
</PackageReference>
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
<Version>6.2.10</Version>
</PackageReference>
<PackageReference Include="Microsoft.Toolkit.Uwp.UI.Lottie">
<Version>6.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.UI.Xaml">
<Version>2.3.200213001</Version>
</PackageReference>
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.UI">
<Version>5.1.0-build.200.gf9c311b069</Version>
</PackageReference>
<PackageReference Include="Uno.UI">
<Version>2.1.37</Version>
</PackageReference>
Android
<PackageReference Include="Com.Airbnb.Android.Lottie">
<Version>3.0.4</Version>
</PackageReference>
<PackageReference Include="Microsoft.UI.Xaml">
<Version>2.3.200213001</Version>
</PackageReference>
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.UI">
<Version>5.1.0-build.200.gf9c311b069</Version>
</PackageReference>
<PackageReference Include="Uno.UI" Version="2.2.0-dev.390" />
<PackageReference Include="Uno.UI.Lottie">
<Version>2.2.0-dev.390</Version>
</PackageReference>
<PackageReference Include="Uno.UniversalImageLoader" Version="1.9.32" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.2" />

该应用程序在没有NotImplementedException的情况下运行,只是在Android上进行交易。任何样品都将是超级的!

也许您的json文件没有正确绑定/包含?

在WASM、iOS和macOS上,您可以将Lottie.json文件直接放在共享项目的文件夹中(例如"Lottie/myanimation.json"(,并将其Build操作设置为Content。

在Android上,需要将Lottie.json文件添加到Assets文件夹中。为了匹配与其他平台相同的路径,文件可以存储在"Assets/Lottie/myanimation.json"中。将其Build操作设置为AndroidAsset。

要引用XAML中的动画,请使用ms-appx:URI,在本例中为ms-appx:///Lottie/myanimation.json

另外请注意,在Android上,FillStretch模式目前不受支持。

Uno-Lottie文档参考

其他可能性,但我注意到你的文件包含"-",我知道Android讨厌图像中的那些字符,你可以尝试重命名你的文件。

最新更新