Метод 1: использование свойства Actions панели приложений.
Самый простой способ добавить действия в панель приложений — использовать свойство actions. Это свойство принимает список виджетов, позволяющих добавлять кнопки, значки или любые другие интерактивные элементы в качестве действий. Вот пример:
AppBar(
title: Text('My App'),
actions: [
IconButton(
icon: Icon(Icons.search),
onPressed: () {
// Perform search action
},
),
IconButton(
icon: Icon(Icons.settings),
onPressed: () {
// Perform settings action
},
),
],
)
Метод 2. Создание пользовательского виджета AppBar
Другой подход — создать собственный виджет AppBar, который инкапсулирует желаемые действия. Этот метод обеспечивает большую гибкость и возможность повторного использования. Вот пример:
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
final List<Widget> actions;
CustomAppBar({required this.actions});
@override
Widget build(BuildContext context) {
return AppBar(
title: Text('My App'),
actions: actions,
);
}
@override
Size get preferredSize => Size.fromHeight(kToolbarHeight);
}
// Usage:
CustomAppBar(
actions: [
IconButton(
icon: Icon(Icons.search),
onPressed: () {
// Perform search action
},
),
IconButton(
icon: Icon(Icons.settings),
onPressed: () {
// Perform settings action
},
),
],
)
Метод 3: использование TabBarView с DefaultTabController
Если вы хотите иметь разные действия для каждой вкладки в TabBarView, вы можете использовать DefaultTabControllerвместе с TabBarи TabBarView. Вот пример:
DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
title: Text('My App'),
bottom: TabBar(
tabs: [
Tab(text: 'Tab 1'),
Tab(text: 'Tab 2'),
],
),
),
body: TabBarView(
children: [
// Content of Tab 1
// ...
],
),
),
)
В этой статье мы рассмотрели различные способы добавления действий на панель приложений с помощью вкладок во Flutter. Мы узнали об использовании свойства actions, создании собственного виджета AppBar и использовании TabBarView с DefaultTabController. Эти методы обеспечивают гибкость и позволяют настраивать AppBar в соответствии с требованиями вашего приложения. Реализуя эти методы, вы можете улучшить взаимодействие с пользователем и предоставить дополнительную функциональность своим приложениям Flutter.