admin管理员组文章数量:1287579
This is HomeScreen.dart file where navigation bar is implemented to show. It was working before taking tdee data from another screen in home screen but now when tdee (total daily energy expenditure) data is taken it doesn't show navbar.
import 'package:getfit/screens/ProfileScreen.dart';
import 'package:getfit/screens/ReportScreen.dart';
import 'package:getfit/widgets/CustomBottomNavBar.dart';
import 'CategoryScreen.dart';
import 'package:pedometer/pedometer.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomeScreen(),
theme: ThemeData(fontFamily: 'AgencyFB'), // Global font style
);
}
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
int _selectedIndex = 0; // Tracks selected bottom tab index
late double tdee; // Total Daily Energy Expenditure Variable
late List<Widget> _screens = [
HomeContent(tdee: tdee),
CategoryScreen(),
ReportScreen(),
ProfileScreen(),
];
// Method to save Total Daily Energy Expenditure (TDEE)
Future<double> _storedTDEE() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getDouble('tdee') ?? 0;
}
// Method to setState of selected index
void _onTabSelected(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: CustomBottomNavBar(
selectedIndex: _selectedIndex,
onTabSelected: _onTabSelected,
),
body: IndexedStack(
index: _selectedIndex,
children: _screens,
), // Show selected screen
);
}
}
This is CustomNavigationBar.dart file where navigation bar is created.
class CustomBottomNavBar extends StatefulWidget {
final int selectedIndex; // Tracks current selected index
final Function(int) onTabSelected; // Callback to notify parent widget
const CustomBottomNavBar({
Key? key,
required this.onTabSelected,
required this.selectedIndex,
}) : super(key: key);
@override
_CustomBottomNavBarState createState() => _CustomBottomNavBarState();
}
class _CustomBottomNavBarState extends State<CustomBottomNavBar> {
@override
Widget build(BuildContext context) {
return BottomNavigationBar(
backgroundColor: const Color.fromRGBO(57, 57, 57, 1), // Background color
selectedItemColor: Colors.white, // Selected icon color
unselectedItemColor: Colors.grey, // Unselected icon color
currentIndex: widget.selectedIndex, // Track selected index
onTap: widget.onTabSelected, // Callback when tab is tapped
type: BottomNavigationBarType.fixed, // Keeps labels visible
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: "Home",
),
BottomNavigationBarItem(
icon: Icon(Icons.sports),
label: "Category",
),
BottomNavigationBarItem(
icon: Icon(Icons.bar_chart),
label: "Report",
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: "Profile",
),
],
);
}
}
本文标签:
版权声明:本文标题:flutter - Not showing navigation bar in app even after implementing libraries and creating NavBar file - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741312236a2371710.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论