Для чего нужен AppBar?

«Для чего нужен AppBar?» — вопрос из категории Flutter виджеты, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

AppBar — это стандартный виджет верхней панели в Material Design. Я использую его для навигации и размещения основных элементов управления на экране.

Типичное содержимое AppBar:

  • Заголовок (title): Название текущего экрана.
  • Кнопка назад (automaticallyImplyLeading): Появляется автоматически при наличии предыдущего маршрута в Navigator.
  • Кнопки действий (actions): Список виджетов (обычно IconButton) для дополнительных функций, например, поиска, фильтра или настроек.
  • Гибкое пространство (flexibleSpace): Для кастомного фона или размещения виджетов типа TabBar под заголовком.

Пример с кастомизацией:

AppBar(
  title: Text('Мой профиль'),
  backgroundColor: Colors.deepPurple,
  actions: [
    IconButton(
      icon: Icon(Icons.settings),
      onPressed: () => Navigator.pushNamed(context, '/settings'),
    ),
  ],
  bottom: TabBar(
    tabs: [
      Tab(text: 'Инфо'),
      Tab(text: 'Посты'),
    ],
  ),
)

Он также управляет стилем статус-бара (светлый/темный текст) через свойство systemOverlayStyle.