122 lines
4.0 KiB
Dart
122 lines
4.0 KiB
Dart
import 'package:aitrainer_app/localization/app_localization.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:gradient_bottom_navigation_bar/gradient_bottom_navigation_bar.dart';
|
|
|
|
// ignore: must_be_immutable
|
|
class BottomNavigator extends StatefulWidget {
|
|
int bottomNavIndex = 0;
|
|
BottomNavigator({this.bottomNavIndex}) {
|
|
this.bottomNavIndex = bottomNavIndex;
|
|
}
|
|
|
|
@override
|
|
_NawDrawerWidget createState() => _NawDrawerWidget();
|
|
}
|
|
|
|
class _NawDrawerWidget extends State<BottomNavigator> {
|
|
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final Color bgrColor = Color(0xffb4f500);
|
|
final Color bgrColorEnd = Colors.blue;
|
|
final Color active = Colors.black;
|
|
final Color inactive = Colors.black26;
|
|
|
|
/*final Color bgrColor = Colors.black;
|
|
final Color active = Colors.yellowAccent;
|
|
final Color inactive = Colors.white60;*/
|
|
//
|
|
|
|
return GradientBottomNavigationBar(
|
|
currentIndex: widget.bottomNavIndex, // this will be set when a new tab is tapped
|
|
backgroundColorStart: bgrColorEnd,
|
|
backgroundColorEnd: bgrColor,
|
|
fixedColor: active,
|
|
//selectedItemColor: active,
|
|
//unselectedItemColor: inactive,
|
|
//showSelectedLabels: true,
|
|
//showUnselectedLabels: true,
|
|
items: [
|
|
BottomNavigationBarItem(
|
|
backgroundColor: bgrColor,
|
|
icon: new Icon(Icons.home, color: inactive),
|
|
activeIcon: new Icon(Icons.home, color: active,),
|
|
title: new Text(AppLocalizations.of(context).translate("Home"),
|
|
style: TextStyle(fontSize: 9)),
|
|
),
|
|
BottomNavigationBarItem(
|
|
backgroundColor: bgrColor,
|
|
icon: new Icon(Icons.trending_up, color: inactive),
|
|
activeIcon: new Icon(Icons.trending_up, color: active,),
|
|
title: new Text(AppLocalizations.of(context).translate("My Development"),
|
|
style: TextStyle(fontSize: 9),),
|
|
),
|
|
|
|
BottomNavigationBarItem(
|
|
backgroundColor: bgrColor,
|
|
icon: new Icon(Icons.featured_play_list, color: inactive),
|
|
activeIcon: new Icon(Icons.featured_play_list, color: active,),
|
|
title: new Text(AppLocalizations.of(context).translate("My Training Plan"),
|
|
style: TextStyle(fontSize: 9),),
|
|
),
|
|
|
|
BottomNavigationBarItem(
|
|
backgroundColor: bgrColor,
|
|
icon: Icon(Icons.person, color: inactive,),
|
|
activeIcon: new Icon(Icons.person, color: active,),
|
|
title: Text(AppLocalizations.of(context).translate("Account"),
|
|
style: TextStyle(fontSize: 9),)
|
|
),
|
|
BottomNavigationBarItem(
|
|
backgroundColor: bgrColor,
|
|
icon: Icon(Icons.settings, color: inactive),
|
|
activeIcon: new Icon(Icons.settings, color: active,),
|
|
title: Text(AppLocalizations.of(context).translate("Settings"),
|
|
style: TextStyle(fontSize: 9))
|
|
)
|
|
],
|
|
onTap:(index) {
|
|
setState(() {
|
|
widget.bottomNavIndex = index;
|
|
switch (index) {
|
|
case 0:
|
|
Navigator.of(context).pop();
|
|
Navigator.of(context).pushNamed('home');
|
|
|
|
break;
|
|
case 1:
|
|
//Navigator.of(context).pop();
|
|
Navigator.of(context).pushNamed('myDevelopment');
|
|
break;
|
|
case 2:
|
|
|
|
//Navigator.of(context).pop();
|
|
Navigator.of(context).pushNamed('myExercisePlan');
|
|
|
|
break;
|
|
case 3:
|
|
Navigator.of(context).pop();
|
|
Navigator.of(context).pushNamed('account');
|
|
|
|
break;
|
|
case 4:
|
|
Navigator.of(context).pop();
|
|
Navigator.of(context).pushNamed('settings');
|
|
|
|
break;
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
);
|
|
}
|
|
|
|
|
|
} |