Repolode
seyedmostafahasani

seyedmostafahasani/react-native-splash-motion

JavaScriptバンドルの読み込み前、アプリ起動直後からネイティブ再生できるReact Native向けLottie・dotLottieスプラッシュ画面。

スター
44
フォーク
1
未解決の Issue
0
最終コミット
昨日

これは何?

SplashMotionは、アニメーション付きスプラッシュ画面を実現するReact Nativeライブラリです。多くのアニメーション付きスプラッシュ画面はReact経由で描画されるため、アニメーションを開始できるのはJavaScriptバンドルの読み込み後です。一方SplashMotionは、起動した最初のフレームからネイティブビューでLottieまたはdotLottieアニメーションを再生し、バンドルの読み込み中も再生を続けた後、任意のアウトロとフェードを付けて終了します。

CLIとExpo config pluginがビルド時にネイティブの起動画面、アセット、テーマを生成するため、AppDelegateやMainActivityを手動で編集する必要はありません。アプリの準備ができたらhide()を呼び出します。現在のループの終了を待つ、名前付きアウトロマーカーを再生する、最短表示時間を設定する、フェード時間を指定するといったオプションを利用できます。アニメーションに最初のフレームのPNGを指定すれば、静止状態の起動画面とアニメーションの見た目を一致させられます。

このライブラリにはReact Native New Architectureとreact-native-nitro-modulesが必要です。iOS 15以降とAndroid 7以降(API 24)を対象とし、MITライセンスで提供されています。

主な機能

  • 01Lottieの.jsonアニメーションとdotLottieの.lottieアニメーションをネイティブ再生します。
  • 02アプリ起動直後の最初のフレームから、JSバンドルの読み込み前にアニメーションを開始します。
  • 03CLIまたはExpo config pluginでネイティブの起動画面を自動設定します。
  • 04hide()で現在のループ終了を待ち、アウトロマーカーを再生してからフェードアウトできます。
  • 05静止状態の起動画面と見た目を合わせるための最初のフレームのPNGを任意で指定できます。

ユースケース

  • JSの起動中に空白のまま待たせず、React Nativeアプリにブランドを反映したアニメーション付きスプラッシュ画面を表示する。
  • フォントやナビゲーションなど、アプリの準備が整うまで待つ、仕上がりのよい終了アニメーションを追加する。
  • 既存のAfter EffectsまたはLottieFilesのアニメーションを、Expoまたはbare React Nativeプロジェクトの起動画面に使う。

クイックスタート

  1. 1

    パッケージとNitro Modulesをインストールする

    yarn add react-native-splash-motion react-native-nitro-modules
  2. 2

    Lottieファイルからスプラッシュ画面を生成する

    npx splash-motion generate assets/splash.json --background "#0F6E56"
  3. 3

    iOSのPodsをインストールしてアプリを再ビルドする

    cd ios && pod install
  4. 4

    アプリの準備ができたらSplashMotion.hide()を呼び出す

使う前に知っておきたいこと

  • Nitro Modulesに必要なReact Native New Architectureが必要です。
  • Expo Goではカスタムネイティブコードを読み込めないため、Expoプロジェクトではdevelopment buildが必要です。
  • 最低対応バージョンはiOS 15とAndroid 7(API 24)です。
  • まだ新しいプロジェクトで、スターは37個、メタデータにはリリース履歴が表示されていません。

収録されている特集

トピック

よくある質問

react-native-splash-motion とは?
JavaScriptバンドルの読み込み前、アプリ起動直後からネイティブ再生できるReact Native向けLottie・dotLottieスプラッシュ画面。 SplashMotionは、アニメーション付きスプラッシュ画面を実現するReact Nativeライブラリです。多くのアニメーション付きスプラッシュ画面はReact経由で描画されるため、アニメーションを開始できるのはJavaScriptバンドルの読み込み後です。一方SplashMotionは、起動した最初のフレームからネイティブビューでLottieまたはdotLottieアニメーションを再生し、バンドルの読み込み中も再生を続けた後、任意のアウトロとフェードを付けて終了します。
react-native-splash-motion は無料で使えますか?ライセンスは?
react-native-splash-motion は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
react-native-splash-motion は今もメンテナンスされていますか?
活発にメンテナンス中。react-native-splash-motion の最終コミットは 2026年11月6日 です。
react-native-splash-motion は何に使えますか?
JSの起動中に空白のまま待たせず、React Nativeアプリにブランドを反映したアニメーション付きスプラッシュ画面を表示する。 フォントやナビゲーションなど、アプリの準備が整うまで待つ、仕上がりのよい終了アニメーションを追加する。 既存のAfter EffectsまたはLottieFilesのアニメーションを、Expoまたはbare React Nativeプロジェクトの起動画面に使う。
react-native-splash-motion のインストール方法は?
パッケージとNitro Modulesをインストールする: yarn add react-native-splash-motion react-native-nitro-modules Lottieファイルからスプラッシュ画面を生成する: npx splash-motion generate assets/splash.json --background "#0F6E56" iOSのPodsをインストールしてアプリを再ビルドする: cd ios && pod install アプリの準備ができたらSplashMotion.hide()を呼び出す
react-native-splash-motion はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/seyedmostafahasani/react-native-splash-motion

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト