import 'package:flutter/material.dart'; import 'app_theme.dart'; import 'widgets/bottom_navigation_bar.dart'; import 'widgets/search_floating_button.dart'; class OpenLPRemoteApp extends StatefulWidget { @override _OpenLPRemoteAppState createState() => _OpenLPRemoteAppState(); } class _OpenLPRemoteAppState extends State with SingleTickerProviderStateMixin { TabController tabController; SearchFloatingButton searchActionButton; int tabBarIndex; @override void initState() { super.initState(); tabBarIndex = 0; tabController = TabController(length: 2, vsync: this, initialIndex: tabBarIndex); searchActionButton = SearchFloatingButton(); } @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, theme: appTheme, home: Scaffold( appBar: AppBar( title: Text('OpenLP Remote'), actions: [ IconButton( icon: Icon(Icons.settings), onPressed: () {}, tooltip: 'Settings', ), ], bottom: TabBar( tabs: [ Tab(text: 'SERVICE'), Tab(text: 'SLIDES'), ], controller: tabController, onTap: (index) { setState(() { tabBarIndex = index; }); }, ), ), floatingActionButton: searchActionButton, floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, bottomNavigationBar: AppBottomNavigationBar(), ), ); } }