Lottie animations in .NET MAUI

Lottie animations in .NET MAUI

Introduction

Supercharge your .NET MAUI projects with Lottie animations! Imagine it as the
magic wand for your app’s visuals. Thanks to Adobe After Effects, Lottie
speaks a special language called JSON, making animations a breeze. Meet
SkiaSharp, a Microsoft buddy that helps Lottie shine in .NET MAUI, making your
app look cool without the complexity. Learn the ropes in our beginner-friendly
guide! Add a dash of Lottie, sprinkle in some JSON magic, and watch your app
come to life!

Top advantages of Lottie Animations:

  • Vector-based Adaptability: Lottie animations, being
    vector-based, ensure seamless scalability without compromising resolution.
  • Reduced File Size: Compared to formats like GIF or MP4,
    Lottie files boast significantly smaller sizes while maintaining top-notch
    quality.

Quick Links:

Project Setup:

  • Launch Visual Studio 2022, and in the start window click Create a new
    project to create a new project.

  • In the Create a new project window, select MAUI in the All project types
    drop-down, select the .NET MAUI App template, and click the Next button:

  • In the configure your new project window, name your project, choose a
    suitable location for it, and click the Next button:

  • In the Additional information window, click the Create button:

  • Once the project is created, we can able to see the Android, iOS, Windows
    and other running options in the toolbar. Press the emulator or run button
    to build and run the app

Install Plugin:

  • Library Requirement: SkiaSharp library is essential for
    displaying Lottie animations.
  • Installation via NuGet: Obtain the SkiaSharp library by
    searching for “SkiaSharp.Extended.UI.Maui” in the NuGet Package
    Manager.
  • Enable Prerelease: Ensure the “Include
    prerelease” flag is enabled during installation, as MAUI support is
    currently in prerelease.
  • User Interface Guidance: Open the NuGet Package Manager
    interface to facilitate the installation process.
  • Visual Confirmation: The library, once searched, should
    appear as “SkiaSharp.Extended.UI.Maui” in the NuGet interface.

Implementation

<skia:SKLottieView RepeatCount="-1"
                           RepeatMode="Reverse"
                           Source="walking_batman.json" 
                           HeightRequest="400"
                           WidthRequest="400" />
  • <skia:SKLottieView>: This is the declaration of the SKLottieView, a specialized view for rendering Lottie animations using the SkiaSharp library.
  • RepeatCount="-1": The RepeatCount attribute determines how many times the animation should repeat. A value of -1 means it will repeat indefinitely.
  • RepeatMode="Reverse": The RepeatMode attribute sets the behavior of the animation when it repeats. In this case, “Reverse” means the animation will play in reverse each time it repeats.
  • Source="walking_batman.json": Specifies the source of the Lottie animation. In this example, the animation is loaded from a file named “Girl.json” located in the project.
  • HeightRequest="400" and WidthRequest="400": These attributes set the desired height and width of the SKLottieView, in this case, both set to 400. This property is very important to visualize Lottie animation.
  • This code essentially integrates a Lottie animation (from the “walking_batman.json” file) into your Xamarin.Forms application, configuring its repeat behavior and dimensions. Adjust these attributes based on your specific animation and layout requirements.

    Demo

    Download Code:

    You can download the code from
    GitHub. If you
    have any doubts, feel free to post a comment. If you liked this article, and
    it is useful to you, do like, share the article & star the repository on
    GitHub.

    Next Post

    A Napier Podcast Interview With Nathan Schlaffer

    Nathan Schlaffer, CEO and Founder of MarketMate AI, joined Mike to discuss his generative AI marketing automation platform that enables B2B marketers to connect with their buyer personas. Nathan delves into Marketmate’s unique features, and how users can create buyer personas on the platform, which enable them to refine messaging […]
    A Napier Podcast Interview With Nathan Schlaffer

    You May Like