You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project 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';
// ...classMyAppextendsStatelessWidget {
constMyApp({super.key});
@overrideWidgetbuild(BuildContext context) {
returnMaterialApp(
home:Scaffold(
body:Column(
children: [
// Load a Lottie animation from the assetsLottie.asset('assets/lottie/dancing_star.json'),
// Load a Lottie animation from a urlLottie.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