🧩AppBar()
В Flutter AppBar — это виджет, который обычно используется в верхней части экрана для отображения заголовка, кнопок навигации и других элементов. Он может быть настроен с помощью различных параметров. Рассмотрим несколько примеров использования основных настроек AppBar.
1. Параметр title
titletitle задает основной заголовок приложения.

// Some code
AppBar(
title: Text('Главная страница'),
)
Здесь AppBar будет отображать текст "Главная страница" в центре.
2. Параметр backgroundColor
backgroundColorЭтот параметр задает цвет фона AppBar.

// Some code
AppBar(
title: Text('Заголовок'),
backgroundColor: Colors.green, // Зеленый фон
)
Фон AppBar будет зеленым.
3. Параметр leading
leadingЭтот параметр добавляет виджет слева от заголовка, обычно это иконка меню или кнопка "назад".

// Some code
AppBar(
title: Text('Слева иконка'),
leading: Icon(Icons.menu), // Иконка меню слева
)
Слева будет отображаться иконка меню.
4. Параметр actions
actionsactions позволяет добавлять виджеты (например, иконки кнопок) справа от заголовка.

// Some code
AppBar(
title: Text('Иконки действий'),
actions: [
IconButton(
icon: Icon(Icons.search),
onPressed: () {
print('Нажата кнопка поиска');
},
),
IconButton(
icon: Icon(Icons.more_vert),
onPressed: () {
print('Нажата кнопка "Еще"');
},
),
],
)
Справа будут отображаться кнопки поиска и "Еще".
5. Параметр centerTitle
centerTitleЭтот параметр указывает, должен ли заголовок быть выровнен по центру.

// Some code
AppBar(
title: Text('Центрированный заголовок'),
centerTitle: true, // Заголовок будет по центру
)
Заголовок будет выровнен по центру.
6. Параметр elevation
elevationelevation задает "высоту" тени под AppBar.

// Some code
AppBar(
title: Text('Тень AppBar'),
elevation: 10, // Тень больше
)
Чем больше значение elevation, тем больше будет тень под AppBar.
7. Параметр flexibleSpace
flexibleSpaceЭтот параметр позволяет вставить гибкий виджет, который растягивается на все пространство AppBar.

// Some code
AppBar(
title: Text('Гибкое пространство'),
flexibleSpace: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Colors.blue, Colors.purple],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
),
),
)
AppBar будет с градиентной заливкой.
8. Параметр bottom
bottombottom позволяет добавить виджет в нижнюю часть AppBar, обычно это TabBar для создания вкладок.

// Some code
DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
title: Text('С вкладками'),
bottom: TabBar(
tabs: [
Tab(text: 'Вкладка 1'),
Tab(text: 'Вкладка 2'),
],
),
)
),
)
Внизу AppBar появится TabBar с двумя вкладками.
9. Параметр shape
shapeЭтот параметр задает форму AppBar, например, скругленные углы.

// Some code
AppBar(
title: Text('Скругленные углы'),
backgroundColor: Colors.green,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(
bottom: Radius.circular(30), // Скругление углов снизу
),
),
)
У нижних углов AppBar будет скругление.
10. Параметр toolbarHeight
toolbarHeightЭтот параметр позволяет задать высоту AppBar.

// Some code
AppBar(
title: Text('Высокий AppBar'),
toolbarHeight: 100, // Высота 100 пикселей
backgroundColor: Colors.green,
)
AppBar будет высотой 100 пикселей.
11. Параметр iconTheme
iconThemeiconTheme позволяет настраивать стиль иконок внутри AppBar.

// Some code
AppBar(
title: Text('Тема иконок'),
iconTheme: IconThemeData(
color: Colors.yellow, // Желтые иконки
size: 30, // Размер иконок 30
),
actions: [
Icon(Icons.star),
Icon(Icons.settings),
],
backgroundColor: Colors.lightBlueAccent,
)
Все иконки в AppBar будут желтого цвета и размером 30.
Last updated