📘

With Gemini : Flutterアプリのスプラッシュスクリーンを設定する`flutter_native_splash`

に公開

Flutterアプリのスプラッシュスクリーンを設定するflutter_native_splash

はじめに

Flutterアプリの起動時に表示されるスプラッシュスクリーン(起動画面)は、ユーザーにアプリの読み込み中であることを知らせる重要な要素である。しかし、AndroidとiOSの両方でネイティブのスプラッシュスクリーンを適切に設定するのは手間がかかる。flutter_native_splash パッケージを使えば、このプロセスを自動化し、クロスプラットフォームで一貫した起動画面を簡単に実装できる。

本稿では、このパッケージの導入からスプラッシュスクリーン生成までの手順を解説する。


1. flutter_native_splash パッケージの導入

まず、pubspec.yaml ファイルに flutter_native_splash を追加する。

  1. pubspec.yaml の編集:
    dev_dependencies セクションに以下の行を追加する。

    # pubspec.yaml
    dev_dependencies:
      flutter_test:
        sdk: flutter
      flutter_native_splash: "^2.3.1"
    

    (バージョンは最新のものに合わせる。)

  2. パッケージの取得:
    ターミナルで以下のコマンドを実行し、パッケージをプロジェクトに導入する。

    flutter pub get
    

2. スプラッシュスクリーンの設定

pubspec.yaml ファイルの最下部に、スプラッシュスクリーン生成のための設定を記述する。

  1. 画像と背景色の準備:

    • スプラッシュスクリーンに表示したいロゴ画像(PNG形式、背景透明推奨)を用意する。
    • 背景色を決定する(例: "#FFFFFF")。
  2. pubspec.yaml への設定記述:
    flutter_native_splash セクションを追加し、背景色や画像パスを指定する。

    # pubspec.yaml
    flutter_native_splash:
      # スプラッシュスクリーンの背景色
      # 16進数コードで指定
      color: "#FFFFFF"
      
      # スプラッシュスクリーンに表示する画像のパス
      # プロジェクトの assets ディレクトリなどに配置
      image: "assets/splash_image.png"
    
      # Android固有の設定
      android: true
      # iOS固有の設定
      ios: true
    
    • color: 背景色を16進数コードで指定。
    • image: スプラッシュスクリーンに表示する画像のパス。
    • android, ios: それぞれのプラットフォームでスプラッシュスクリーンを生成するかどうか。

3. スプラッシュスクリーンの生成と確認

設定が完了したら、以下のコマンドをターミナルで実行するだけで、スプラッシュスクリーンが自動的に生成される。

flutter pub run flutter_native_splash:create

コマンドの実行結果

このコマンドを実行すると、以下の作業が自動で行われる。

  • Android: android/app/src/main/res/drawable/android/app/src/main/res/values/ といったディレクトリ内のファイルが更新され、スプラッシュスクリーンの設定が適用される。
  • iOS: ios/Runner/LaunchScreen.storyboard ファイルが更新され、スプラッシュスクリーンの設定が適用される。

flutter_native_splash は、既存のネイティブファイルを自動で編集するため、手動でコードを触る必要がない。これにより、ネイティブの起動画面設定のミスを防ぎ、クロスプラットフォームで一貫したスプラッシュスクリーンを簡単に実装できる。


上記マニュアルでいかがでしょうか?flutter_launcher_icons と同じ構成で、flutter_native_splash の使い方を分かりやすくまとめました。

はい、承知いたしました。flutter_native_splash のスプラッシュスクリーンに使う画像のサイズについて、分かりやすく説明しますね。


flutter_native_splash に推奨される画像のサイズ

スプラッシュスクリーンに使う画像のサイズは、以下のガイドラインに従って用意するのがベストです。

  1. ロゴ画像(image):

    • サイズ: 1024x1024ピクセル以上の正方形で、高解像度のPNG画像を用意することを推奨します。
    • 内容: ロゴやアプリのアイコンなど、スプラッシュスクリーンの中央に表示したい画像です。
    • 理由: flutter_native_splash は、この高解像度画像を基に、AndroidやiOSの各デバイスの画面サイズに合わせた最適なサイズに自動で縮小・生成してくれます。元の画像が小さいと、大きな画面のデバイスでぼやけてしまう可能性があるため、高解像度である必要があります。
  2. 背景画像(background_image) (もし使う場合):

    • サイズ: 最低でも 2400x2400ピクセル以上のサイズを推奨します。
    • 内容: アプリの背景全体を埋める画像です。
    • 理由: スプラッシュスクリーンは様々な画面アスペクト比のデバイスで表示されるため、背景画像が画面全体をきれいに埋めるには、非常に大きなサイズが必要です。

画像の配置と設定

  • 用意した画像は、プロジェクトの assets/ ディレクトリなど、わかりやすい場所に配置します。
  • pubspec.yaml にて、その画像のパスと背景色を設定します。

例:

# pubspec.yaml
flutter_native_splash:
  color: "#FFFFFF"
  image: "assets/splash_logo.png"

  # 背景画像を使う場合
  # background_image: "assets/splash_background.png"

Discussion