Ответ
Scaffold — это базовый виджет-макет в Flutter, который реализует базовую визуальную структуру страницы в соответствии с Material Design. Он предоставляет готовые слоты для стандартных компонентов интерфейса.
Основные элементы, которые можно разместить в Scaffold:
appBar: Верхняя панель (AppBar).body: Основное содержимое страницы.floatingActionButton: Плавающая кнопка действия (FAB).drawer: Выдвижная боковая панель (слева).endDrawer: Выдвижная панель справа.bottomNavigationBar: Нижняя панель навигации.bottomSheet: Всплывающая панель снизу.
Пример использования:
Scaffold(
appBar: AppBar(
title: Text('Главная'),
actions: [
IconButton(icon: Icon(Icons.search), onPressed: () {}),
],
),
drawer: Drawer(
child: ListView(
children: [
ListTile(title: Text('Профиль'), onTap: () {}),
ListTile(title: Text('Настройки'), onTap: () {}),
],
),
),
body: Center(
child: Text('Привет, мир!'),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
bottomNavigationBar: BottomNavigationBar(
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Главная'),
BottomNavigationBarItem(icon: Icon(Icons.settings), label: 'Настройки'),
],
),
);
Почему он важен: Scaffold избавляет разработчика от ручного управления расположением, отступами и поведением (например, автоматическим сдвигом контента при появлении клавиатуры или SnackBar) этих стандартных элементов, обеспечивая согласованный и идиоматичный для платформы вид.