home_screen.dart 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // ignore_for_file: use_build_context_synchronously
  2. import 'package:flutter/material.dart';
  3. import 'package:provider/provider.dart';
  4. import 'package:sis_flutter/themes/themes.dart';
  5. import 'package:sis_flutter/views/home/home_view.dart';
  6. import 'package:sis_flutter/views/profile/profile_screen.dart';
  7. import 'package:sis_flutter/widgets/app_drawer.dart';
  8. import 'package:sis_flutter/widgets/custom_bottom_navigation_bar.dart';
  9. class HomeScreen extends StatefulWidget {
  10. static const String route = '/home';
  11. const HomeScreen({super.key});
  12. @override
  13. Formulario createState() => Formulario();
  14. }
  15. class Formulario extends State<HomeScreen> with SingleTickerProviderStateMixin {
  16. late TabController _tabController;
  17. @override
  18. void initState() {
  19. super.initState();
  20. _tabController = TabController(length: 2, vsync: this);
  21. }
  22. @override
  23. void dispose() {
  24. // TODO: implement dispose
  25. super.dispose();
  26. _tabController.dispose();
  27. }
  28. @override
  29. Widget build(BuildContext context) {
  30. return Scaffold(
  31. backgroundColor: AppTheme.progressBackground,
  32. appBar: AppBar(
  33. backgroundColor: Colors.white,
  34. ),
  35. drawerScrimColor:
  36. const Color.fromARGB(255, 119, 119, 119).withOpacity(0.5),
  37. drawer: AppDrawer(),
  38. body: TabBarView(
  39. controller: _tabController,
  40. children: <Widget>[
  41. const HomeBody(),
  42. const ProfileScreen(),
  43. ],
  44. ),
  45. bottomNavigationBar: CustomBottomNavigationBar(
  46. indexValue: _tabController.index,
  47. onIndexSelected: (index) {
  48. setState(() {
  49. _tabController.index = index;
  50. });
  51. }),
  52. );
  53. }
  54. }