0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】スプラッシュ画像を設定する

Last updated at Posted at 2024-09-05

はじめに

アプリのスプラッシュ画像を設定したので、その備忘録を記載します。

画像の選定方法

Android12にも対応できるように以下のサイズに設定しました。

  • 画像サイズは縦横1152px
  • 縦横768pxの円の中に画像を収める
  • ファイル形式 png
  • 背景透過あり

画像の配置

assets
└── images
    └── splash
        └── splash.png

パッケージのインストール

flutter_native_splashを使用します

dev_dependencies:
  flutter_native_splash: ^2.4.1

pubspec.yamlに設定を追加

pubspec.yamlの一番下に以下の設定を追加します。

flutter_native_splash: 
  color: "#000000"  #背景色指定
  image: "assets/images/splash/splash.png"  #スプラッシュ画像を指定
  android_12: 
    icon_background_color: "#000000"  #Android12用の背景色指定
    image: "assets/images/splash/splash.png"  #Android12用のスプラッシュ画像を指定
  android: true
  ios: true
  fullscreen: true  #trueで通知バーが非表示になる 

自動生成

以下のコマンドを叩くと、スプラッシュ画面の設定が実行されます。

flutter pub get
flutter pub run flutter_native_splash:create

注意点

iOSの場合はflutter_native_splashを使用してスプラッシュ画面を実装すると、アプリでステータスバーが表示されなくなってしまいます。

対策としては、アプリの起動後すぐに、下記メソッドを実行するとステータスバーが表示されるようになります。


import 'package:flutter/services.dart';

・・・

// ステータスバーが常に表示されるように設定
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
    
・・・

Android12の動作確認

Android12の場合は、デバック実行してもスプラッシュ画面は表示されませんでした。

以下の記事より、Android12の場合はデバック実行→アプリを閉じる→アイコンタップから起動しないと、スプラッシュ画面は表示されないようです。

画像を入れ替えたい場合

画像を入れ替えたい場合は、assets/images/splash内の画像を入れ替え、再度以下のコマンドを実行すると再生成されます。

flutter pub get
flutter pub run flutter_native_splash:create

※画像のファイル名を変更する場合は、pubspec.yamlの参照パスも変更が必要です。

参考

告知

最後にお知らせとなりますが、イーディーエーでは一緒に働くエンジニアを
募集しております。詳しくは採用情報ページをご確認ください。

みなさまからのご応募をお待ちしております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?