@amazon-devices/lottie-react-nativeライブラリはLottie React Nativeを拡張して、Vega向けReact Native(RNV)アプリにおけるLottieアニメーションをサポートします。このライブラリをTypeScriptプロジェクトとJavaScript RNVプロジェクトの両方で使用して、Lottieアニメーションを実行できます。
このライブラリはRNVアプリにあらかじめインストールされているため、別途インストールする必要はありません。このライブラリは自動リンクなので、実行時にアプリに接続します。互換性はライブラリとそれに対応するRNVバージョン間でのみ保証されます。
Amazonでは、RNVバージョンをアップグレードする際にライブラリのバージョンを更新することを推奨しています。これによって一貫性が維持され、最新の機能や改善点を利用できるようになります。
インストール
パッケージを使用するには、次の手順に従ってください。-
アプリのpackage.jsonにJavaScriptライブラリの依存関係を追加します。
-
npm installコマンドを使用して、package-lock.jsonファイルを再インストールします。 - Lottieアニメーションを<アプリパッケージのルート>/src/js/resources/に追加します。Lottieアニメーションの画像を<アプリパッケージのルート>/assets/image/に追加します。
例
Lottieは、次の例のように宣言的に使用できます。APIリファレンス
RNVでは、lottie-react-nativeを使用してLottieアニメーションのサポートが追加され、lottie-react-native APIと同じAPIがサポートされます。@amazon-devices/lottie-react-nativeライブラリでは、iOS、Android、Windowsに固有のプロパティはサポートされません。
コンポーネント
メソッド
「例」に示されているように、Lottieコンポーネントは、React.useRefでコンポーネントをキャプチャすることで命令的に制御できます。参照を通じて、アニメーションの動作をより細かく制御できる以下のメソッドへのアクセスが提供されます。
アニメーションが同じ状態の場合、これらのメソッドはいずれも呼び出せません。たとえば、アニメーションの再生中はplay()を呼び出すことはできません。
アニメーションの再生中に異なるパラメーターでplay()を呼び出すと、ライブラリは最新の呼び出しで渡されたパラメーターを使用します。
imageAssetsFolderの使用方法
RNVのimageAssetsFolderプロパティを使用するには、次の手順に従います。
- 画像アセットを[プロジェクトフォルダ]/assets/imageにコピーします。
- Lottieサブフォルダを作成します。必要に応じてアニメーションごとにサブフォルダを作成します。
-
imageAssetsFolderプロパティでは、相対パスを使用してフォルダを参照します。例:imageAssetsFolder={‘lottie/animation_1’}
imageAssetsFolderを更新する必要はありません。
たとえば、[プロジェクトフォルダ]/assets/image/images/img_0.pngというパスではimageAssetsFolderを更新する必要はありません。
参考としてJSON構造の例を以下に示します。
既知の問題と制限事項
以下のアクションとAPIはVegaではサポートされていません。- URIを使用してリモートアセットを ‘source’ に渡す
.lottie形式のアセットColorFiltersTextFilterVega

