feature: Unified and fully customizable startup sequence (splash → boot → startup) with support for a custom Flutter widget/animation
Duplicate Check
- [x] I have searched the opened issues and there are no duplicates
Describe the requested feature
At the moment you can only replace a static image (splash.png) and background colors via CLI flags or pyproject.toml. Dynamic animations, SVG/Lottie clips, or arbitrary widgets are not supported.
Boot-screen and startup-screen are not covered by the splash. After the splash, Flet shows two text-based screens—“Preparing the app…” and “Starting up the app…”—with a progress ring. They cannot be replaced by the same custom artwork, so users see three visually different screens in a row.
Community requests are still open:
- Issue #5328 – “Replace Appstartup screen with a Custom Flutter Widget” (status : Open).
- Discussion #1027 – “customizing the flet splash/loading screen” (closed with “image-only” answer).
- Issue examples #128 – “How to create splash screen when Windows desktop software starts” (left unresolved).
Because of these gaps, even the most customized splash is followed by the default boot/startup screens, preventing a seamless branded launch experience.
Proposed solution:
-
Allow developers to specify one custom Flutter widget (or route) that fully replaces the entire splash → boot → startup chain on every platform. Alternatively, extend the current options so that:
a) boot_screen and startup_screen can be replaced with custom imagery/animation;
b) splash can accept Lottie/SVG/GIF/Motion files or any Widget, similar to what flutter_native_splash offers in Flutter.
-
Provide parameters for light/dark theme variants, text localization, and a minimum display time (to prevent blinking on fast devices).
Work-arounds (not ideal):
- Forking flet-build-template and editing the startup screen manually—hard to maintain after updates.
- Showing a “pseudo-splash” after Flet UI starts—causes noticeable delay/double flash and does not replace boot/startup.
Please add the ability to fully customize the entire startup sequence (splash + boot + startup) and/or let us specify a custom Flutter widget to replace the default screens—just like in native Flutter. This would remove the triple-screen flicker and deliver a single, cohesive branded launch experience for our users
Suggest a solution
No response
Screenshots
No response
Additional details
No response