⏳ Состояния загрузки (Loaders & Shimmers)
Качественные индикаторы загрузки делают ожидание менее утомительным и предотвращают ощущение “зависшего” приложения.
🏁 Кастомный лоадер при запуске (Splash Screen)
Чтобы заменить стандартный белый экран при загрузке Flutter Web на красивую анимацию:
- Выберите анимацию на loading.io.
- Добавьте CSS-стили и HTML-код лоадера в Settings → Web Deployment → Custom Headers.
- Используйте скрипт для скрытия лоадера после того, как Flutter отрисует первый кадр:
window.addEventListener("flutter-first-frame", function () {
const splashScreen = document.getElementById("splash-screen")
if (splashScreen) {
splashScreen.style.opacity = "0"
setTimeout(() => splashScreen.remove(), 500)
}
})✨ Skeleton Loading (Шиммеры)
Вместо крутящегося индикатора для списков лучше использовать “скелетную” загрузку (Shimmer effect). Это создает иллюзию того, что контент уже почти загружен.
- Как сделать: Создайте серый полупрозрачный макет вашей карточки и анимируйте его прозрачность или градиент.
- 📺 Урок: Custom Skeleton Loading States in FlutterFlow
💡 Советы
- Используйте лоадеры только там, где загрузка длится более 300мс.
- Шиммеры лучше подходят для контента (новости, товары), а лоадеры-кольца — для действий (отправка формы).
Смотрите также: Библиотеки анимаций