Как использовать Uno Lott ie на Android? - PullRequest
1 голос
/ 07 апреля 2020

Создана простая анимация, как сказано здесь: 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. Любой образец будет супер!

1 Ответ

0 голосов
/ 07 апреля 2020

Может быть, ваш json файл не упакован / не включен должным образом?

В WASM, iOS и macOS вы можете поместить файлы Lott ie. json непосредственно в папку общий проект (например, «Lottie / myanimation. json») и установите их действие «Сборка» как «Содержимое».

Вкл. Android, файлы Lott ie. json необходимо добавить в активы. папки. Чтобы соответствовать тому же пути, что и для других платформ, файл может быть сохранен в «Assets / Lottie / myanimation. json». Установите для его действия Build значение AndroidAsset.

Для ссылки на анимацию в XAML используйте URI ms-appx:, в данном случае ms-appx:///Lottie/myanimation.json.

Также обратите внимание на Android, Stretch режим Fill в настоящее время не поддерживается.

Uno Lott ie Ссылка на документацию

Другая возможность, но я заметил, что ваш файл содержит "-", я знаю Android ненавидит эти символы на изображениях, вы можете попробовать переименовать ваш файл.

...