Как добавить splash screen в Flutter?

Чтобы добавить splash screen в Flutter-приложение, можно воспользоваться стандартным способом через изменения в платформенных файлах проекта для Android и iOS. Вот шаги для настройки:
1. Добавление Splash Screen на Android
-
Откройте файл
android/app/src/main/res/drawable/launch_background.xml
:Если его нет, создайте новый файл. Добавьте следующий код, чтобы задать фоновое изображение или цвет:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/your_splash_background_color" /> <!-- Опционально можно добавить изображение: --> <!-- <item> <bitmap android:gravity="center" android:src="@drawable/your_splash_image" /> </item> --> </layer-list>
Обратите внимание, что здесь используется ресурс цвета или изображение для фона splash screen.
-
Измените файл
android/app/src/main/AndroidManifest.xml
:Найдите тег
<activity>
и добавьте атрибут, чтобы использовать созданный фоновый ресурс:<activity android:name=".MainActivity" android:theme="@style/LaunchTheme" ...>
-
Настройка стиля:
В файле
android/app/src/main/res/values/styles.xml
добавьте новый стиль для splash screen:<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@drawable/launch_background</item> </style>
2. Добавление Splash Screen на iOS
-
Откройте Xcode и найдите папку с вашим Flutter-проектом.
-
Добавьте изображение для splash screen:
Перейдите в папку
ios/Runner
, найдите файлLaunchScreen.storyboard
и откройте его. Вы можете добавить сюда изображение или изменить фон, используя графический интерфейс Xcode. -
Настройте запуск:
Убедитесь, что в файле
Info.plist
есть настройки для использования этого экрана:<key>UILaunchStoryboardName</key> <string>LaunchScreen</string>
3. Использование пакета flutter_native_splash
Если вы хотите автоматизировать процесс создания splash screen, можно использовать пакет flutter_native_splash
. Он значительно упрощает процесс. Вот пример:
-
Добавьте зависимость в
pubspec.yaml
:dev_dependencies: flutter_native_splash: ^2.0.0
-
Настройте splash screen в том же файле:
flutter_native_splash: color: "#42a5f5" image: assets/splash.png android: true ios: true
-
Выполните команду:
flutter pub run flutter_native_splash:create
Этот пакет автоматически создаст необходимые файлы и настройки для Android и iOS.
После этого splash screen будет отображаться при запуске вашего приложения.