Automatically generates native code for adding splash screens in Android and iOS. Customize with specific platform, background color and splash image.
First, add flutter_native_splash
as a dev dependency in your pubspec.yaml file. You should add the package to dev_dependencies
because you don't need this plugin in your APK.
dev_dependencies:
flutter_native_splash: ^0.2.3
Don't forget to flutter pub get
.
Add your settings to your project's pubspec.yaml
file or create a file in your root project folder named flutter_native_splash.yaml
with your settings.
flutter_native_splash:
image: assets/images/splash.png
color: "42a5f5"
image_dark: assets/images/splash-invert.png
color_dark: "042a49"
- Images must be
png
files. - You can use
#
in color parameters as well.color: "#42a5f5"
You can omit image_dark
and color_dark
if you want a single splash screen regardless of dark mode:
flutter_native_splash:
image: assets/images/splash.png
color: "42a5f5"
You can omit image
and/or the image_dark
parameter if you just want a colored splash screens:
flutter_native_splash:
color: "42a5f5"
color_dark: "042a49"
You can also set android
or ios
to false
if you don't want to create a splash screen for a specific platform.
flutter_native_splash:
image: assets/images/splash.png
color: "42a5f5"
android: false
In case your image should use all available screen (width and height) you can use fill
property.
flutter_native_splash:
image: assets/images/splash.png
color: "42a5f5"
fill: true
Note: fill
property is not yet implemented for iOS splash screens.
If you want to disable full screen splash screen on Android you can use android_disable_fullscreen
property.
flutter_native_splash:
image: assets/images/splash.png
color: "42a5f5"
android_disable_fullscreen: true
After adding your settings, run the package with
flutter pub run flutter_native_splash:create
When the package finishes running your splash screen is ready.
- If splash screen was not updated properly on iOS or if you experience a white screen before splash screen, run
flutter clean
and recompile your app. (issue #9) - This package modifies
launch_background.xml
,styles.xml
andMainActivity
files on Android andLaunchScreen.storyboard
,Info.plist
andAppDelegate
on iOS. If you modified this files manually this plugin may not work properly, please open an issue if you find any bugs.
- If you want to use a Material Icon as your splash image, download an icon in (material.io/resources/icons) as PNG for Android. I recommend using the biggest icon in
drawable-xxxhdpi
folder which was just downloaded for better results. - Material Colors are available in material.io/resources/color
- Your splash image will be resized to
mdpi
,hdpi
,xhdpi
,xxhdpi
andxxxhdpi
drawables. - An
<item>
tag containing a<bitmap>
for your splash image drawable will be added inlaunch_background.xml
- Background color will be added in
colors.xml
and referenced inlaunch_background.xml
. - Code for full screen mode toggle will be added in
styles.xml
andMainActivity
. - Dark mode variants are placed in
drawable-night
,values-night
, etc. resource folders.
- Your splash image will be resized to
@3x
and@2x
images. - Color and image properties will be inserted in
LaunchScreen.storyboard
. - The background color is implemented by using a single pixel png file and stretching it to fit the screen.
- Code for hidden status bar toggle will be added in
Info.plist
andAppDelegate
.
This package was originally created by Henrique Arthur and it is currently maintained by Jon Hanson.
This package is heavily inspired by flutter_launcher_icons created by Mark O'Sullivan and Franz Silva.