代码之家  ›  专栏  ›  技术社区  ›  Jet Chopper

如何在Android上使用Uno Lottie?

  •  0
  • Jet Chopper  · 技术社区  · 4 年前

    创建了简单的动画,如下所述: https://docs.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上进行Transparent。 任何样品都会很棒!

    0 回复  |  直到 4 年前
        1
  •  0
  •   matfillion    4 年前

    也许你的json文件没有正确捆绑/包含?

    在WASM、iOS和macOS上,您可以将Lottie.json文件直接放在共享项目的文件夹中(例如“Lottie/manimation.json”),并将其构建操作设置为内容。

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

    要引用XAML中的动画,请使用 ms-appx: URI,在这种情况下 ms-appx:///Lottie/myanimation.json .

    另请注意,在Android上 Stretch 模式 Fill 目前不支持。

    Uno Lottie Documentation reference

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