thorvg 1.0.0-pre.21 copy "thorvg: ^1.0.0-pre.21" to clipboard
thorvg: ^1.0.0-pre.21 copied to clipboard

ThorVG Flutter Runtime

ThorVG for Flutter #

pub package License: MIT

This package provides the ThorVG runtime for Flutter, including efficient Lottie animation support via a native API.

Currently, we only support Lottie Animation feature in this package.

Supported Platforms #

Platform Architecture
Android arm64-v8a, armeabi-v7a, x86_64
iOS arm64, x86_64, x86_64(simulator)

Usage #

Lottie #

The Lottie implementation aims to maintain the same interface as lottie-flutter. If you are currently using it, you can simply replace the import statement with import 'package:thorvg/thorvg.dart' to utilize the code.

import 'package:thorvg/thorvg.dart';
// ...
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Column(
          children: [
            // Load a Lottie animation from the assets
            Lottie.asset('assets/lottie/dancing_star.json'),

            // Load a Lottie animation from a url
            Lottie.network(
              'https://lottie.host/6d7dd6e2-ab92-4e98-826a-2f8430768886/NGnHQ6brWA.json'
            ),
          ],
        ),
      ),
    );
  }
}

Generate Flutter binding #

If you change the binding interface in these files

  • tvgFlutterLottieAnimation.h
  • tvgFlutterLottieAnimation.cpp

You must always run the following script:

# Run for the first time
flutter pub get
# Generate bindings with ffigen
flutter pub run ffigen --config ffigen.yaml

You will get ./lib/src/thorvg_bindings_generated.dart.

Build #

Specify the ThorVG version in the .gitmodules file.

[submodule "thorvg"]
  path = thorvg
  url = git@github.com:thorvg/thorvg.git
  branch = v0.14.x # Change to version you want

Then you can run the following commands to align with that version before building.

git submodule init
git submodule update --remote

Android #

Android build requires NDK(LTS), please specify following build systems info.

# Build for Animation(Lottie)
cd lottie
sh flutter_build.android.sh $NDK $HOST_TAG $API

Check whether these files are generated:

  • android/src/main/arm64-v8a/libthorvg.so
  • android/src/main/armeabi-v7a/libthorvg.so
  • android/src/main/x86_64/libthorvg.so

iOS #

# Build for Animation(Lottie)
cd lottie
sh flutter_build.ios.sh

Check whether this file is generated:

  • ios/Frameworks/libthorvg.dylib
5
likes
130
points
144
downloads

Publisher

verified publisherthorvg.org

Weekly Downloads

ThorVG Flutter Runtime

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, flutter

More

Packages that depend on thorvg