Splash screens are a delightful way to impress users right from the start. They serve as a visual introduction to your application while the main content is loading in the background. Here, we will walk through the steps to implement a splash screen in your Flutter app using the flutter_splash_screen package.
Table of Contents
Changes
Check the repository for changes and update logs.
Installation
To add the flutter_splash_screen to your project, simply run the following command:
flutter pub add flutter_splash_screen
Examples
For practical implementations, refer to the example repository. Here are a couple of screenshots:
 Getting Started
To get started, you’ll need to make some configuration changes for both Android and iOS platforms.
1. Android Configuration
Update the MainActivity.kt
In your MainActivity.kt, add the following code:
package org.devio.flutter.splashscreen.example
import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
import org.devio.flutter.splashscreen.SplashScreen
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
SplashScreen.show(this) // You can set `true` for full screen
super.onCreate(savedInstanceState)
}
}
Create launch_screen.xml
Create a layout file launch_screen.xml in app/src/main/res/layout:
Here, you can customize your splash screen by adding a launch_screen.png to the appropriate mipmap folders.
Optional Steps for Customization
For additional customization, you can set the status bar color in colors.xml and make the splash screen translucent in styles.xml.
2. iOS Configuration
In iOS, customize your splash screen via LaunchScreen.storyboard.Details can be found in the same example repository.
Usage
You can control the visibility of the splash screen programmatically. Here’s how:
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_splash_screen/flutter_splash_screen.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State {
@override
void initState() {
super.initState();
hideScreen();
}
Future hideScreen() async {
await Future.delayed(Duration(milliseconds: 1800));
FlutterSplashScreen.hide(); // hides your splash screen
}
...
}
API
The following methods are available:
- show() – Opens the splash screen (Native Method).
- hide() – Closes the splash screen.
Testing
Make sure to thoroughly test your splash screen on various devices to confirm its appearance and functionality.
Troubleshooting
If you encounter any issues, here are a few troubleshooting tips:
- Ensure your
launch_screen.xmland images are correctly placed in the respective directories. - Review your
MainActivity.ktcode for any syntax errors or omissions. - Check for Flutter and package version compatibility.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Contribution
If you want to contribute, make sure to report any issues clearly with accompanying screenshots and code snippets. Pull requests are also welcome!
Conclusion
Implementing a splash screen in Flutter is a simple task that can significantly enhance user experience. With minimal configuration, this feature transforms your app’s entry point into a professional-looking interface.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

