React NativeプロジェクトでLottieアニメーションを使用する方法

React NativeプロジェクトでLottieアニメーションを使用する方法

Lottie は、Airbnb が開発した iOS、Android、React Native 向けのオープンソース アニメーション ライブラリです。Adobe After Effects からエクスポートされたアニメーションを読み込み、ネイティブ アプリでこれらのアニメーションを静的マテリアルのように使用できるため、クールなアニメーション効果を完璧に実現できます。
使用プロセスとしては、まずLottieアニメーションでAdobe After Effectsを使用してオリジナルのアニメーションを作成し、次に公式のBodymovinプラグインを使用してアニメーションをJsonファイルにエクスポートする必要があります。このJsonファイルは、Lottieが解析する必要があるアニメーションソースファイルです。
React Native プロジェクトで Lottie アニメーションを使用するには、以下に示すように、まず lottie-react-native および lottie-ios プラグインをインストールする必要があります。

糸を追加 lottie-react-native
糸追加 [email protected]

インストールが完了したら、 react-native link コマンドを使用してネイティブ ライブラリの依存関係をリンクできます。もちろん、これに加えて、手動の方法を使用して依存関係を追加することもできます。 CocoaPods を使用する iOS プロジェクトの場合は、次のスクリプト ファイルを追加する必要があります。

ポッド 'lottie-ios'、:path => '../node_modules/lottie-ios'
ポッド 'lottie-react-native'、:path => '../node_modules/lottie-react-native'

次に、pod install コマンドを実行してプラグインをインストールします。ネイティブ Android の場合は、まず android/settings.gradle ファイルに次のコンテンツを追加する必要があります。

':lottie-react-native' を含める
project(':lottie-react-native').projectDir = 新しいファイル(rootProject.projectDir, '../node_modules/lottie-react-

次に、app/build.gradle ファイルを開き、次の依存関係を追加します。

 依存関係 {
  ...
  実装プロジェクト(':lottie-react-native')
  ...
}

最後に、以下に示すように、ReactApplication の getPackages() メソッドに LottiePackage を追加する必要があります。

com.airbnb.android.react.lottie.LottiePackage をインポートします。
    
@オーバーライド
    保護されたリスト<ReactPackage> getPackages() {
      Arrays.<ReactPackage>asList( を返します。
          ... //他のコードは省略 new LottiePackage()
      );
    }
  };

この時点で、Lottie に必要なネイティブ開発環境がセットアップされました。次に、以下に示すように、Lottie が提供する LottieView コンポーネントを使用して、以前にエクスポートした Json ファイルを読み込むだけです。

関数LottieAnimPage(){
    戻る (
      <LottieView source={require('../animations/LottieLogo1.json')} 自動再生ループ />
    )
}

デフォルトの LottieAnimPage をエクスポートします。

同時に、LottieView コンポーネントは、アニメーションに追加の効果を加えるための進行状況パラメータも提供します。たとえば、以下は、progress を使用して同様の効果を実現するサンプル コードです。

関数LottieAnimPage(){

    定数 anim = useRef(新しい Animated.Value(0)).current;

    関数 linearAnim() {
        アニメーション.タイミング(anim, {
            値: 1,
            期間: 5000、
            イージング: Easing.linear、
        })。始める();
    }

    React.useEffect(() => {
        線形アニメーション();
    }, []);

    戻る (
        <LottieView ソース = {require('../animations/TwitterHeart.json')}
                    進行状況 = {アニメーション} />
    )
}

ロッティーアニメーション効果を実現するための核心は、やはりロッティー独自のアニメーションをいかに作るかということにあることがわかります。まず、Adobe After Effects をインストールして、それを使用して Lottie オリジナル アニメーションを作成し、次に Bodymovin プラグインをインストールし、最後に Lottie オリジナル アニメーションをアニメーション化された Json ファイルとしてエクスポートする必要があります。 Adobe After Effects がインストールされていない場合は、図 3-7 に示すように、Adobe の公式 Web サイトからダウンロードしてインストールできます。

After Effects を終了し、最新の ZXP インストーラーをダウンロードしてインストールします。インストールが完了したら、最新の Bodymovin プラグインをダウンロードします。 ZXP インストーラーを開き、図 3-8 に示すように、Bodymovin プラグインを ZXP インストーラー ウィンドウにドラッグしてインストールします。

次に、After Effectsを開き、[ウィンドウ]→[拡張機能]をクリックして、Bodymovinプラグインを表示します。もちろん、Lottie の公式サイトでも多くのクールなアニメーションが提供されており、図 3-9 に示すように、これらのアニメーションの Json ファイルを直接ダウンロードして使用することもできます。

React Native に Lottie アニメーションを実装する記事はこれで終わりです。React Native Lottie アニメーションに関するより詳しい内容は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • React NativeのScrollViewプルダウンリフレッシュ効果
  • React NativeのstartReactApplicationメソッドの簡単な分析
  • React Nativeの起動プロセスの詳細分析
  • React Nativeのカスタムルーティング管理に関する深い理解

<<:  Docker CPU 制限の実装

>>:  Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

推薦する

MySql インポート CSV ファイルまたはタブ区切りファイル

別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...

メンテナンス可能なJSコードの書き方を教えます

目次保守可能なコードとは何ですか?コード規約1. 読みやすさ2. 変数と関数の命名3. 透過的な変数...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

最近、特に異常なビジネス需要があり、テーブルがあります テーブル「デモ」を作成します( `id` i...

MySQL 接続で認証失敗エラーが発生する場合の分析と解決方法

[問題の説明]アプリケーション側では、次のエラーが時々表示されます。メソッド 'mysql_...

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

MySQL コード実行構造例の分析 [シーケンス、分岐、ループ構造]

この記事では、例を使用して MySQL コード実行構造について説明します。ご参考までに、詳細は以下の...

Linux inotifyリアルタイムバックアップの実装方法の詳細説明

リアルタイム レプリケーションは、企業データをバックアップする最も重要な方法です。主に、ユーザーが送...

JavaScript ベースの Web 計算機の実装

この記事では、ウェブ計算機のマインスイーパゲームを実装するためのJavaScriptの具体的なコード...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

Windows Server 2016 でサービスを展開する方法 (グラフィック チュートリアル)

導入インストールするシステムの数が多い場合、USB フラッシュ ドライブまたは CD を使用した手動...

Dockerイメージ内のファイルを表示する方法

Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...

CSS ですべての子要素を選択し、スタイルを追加する方法

方法:実際のプロジェクトを例に挙げてみましょう。 .lk-ツールバー{ .el-入力{ 幅: 169...

React 並行関数エクスペリエンス (フロントエンド並行モード)

React は、開発者が Web およびモバイルベースのアプリケーションを作成するために使用するオ...

MySQLプロセスを安全かつ適切にシャットダウンする方法

序文この記事では、mysqld プロセスをシャットダウンするプロセスと、MySQL インスタンスを安...