import 'package:flutter/material.dart'; import 'package:food_hub_app/models/layout.dart'; import 'package:food_hub_app/views/moment.dart'; import 'package:food_hub_app/views/profile.dart'; import 'package:food_hub_app/views/record.dart'; import 'package:food_hub_app/views/stats.dart'; final List pageInfos = [ PageInfo( label: "记录", icon: Icons.home_outlined, activeIcon: Icons.home, page: RecordPage(), ), PageInfo( label: "统计", icon: Icons.pie_chart_outline, activeIcon: Icons.pie_chart, page: StatsPage(), ), PageInfo( label: "朋友圈", icon: Icons.group_outlined, activeIcon: Icons.group, page: MomentPage(), ), PageInfo( label: "我的", icon: Icons.account_circle_outlined, activeIcon: Icons.account_circle, page: ProfilePage(), ), ]; class NavBar extends StatelessWidget { final int currentIndex; final Function(int) onTap; const NavBar({super.key, required this.currentIndex, required this.onTap}); List get items => pageInfos .map( (item) => BottomNavigationBarItem( icon: Icon(item.icon), activeIcon: Icon(item.activeIcon), label: item.label, ), ) .toList(); @override Widget build(BuildContext context) { return Container( decoration: BoxDecoration( border: Border(top: BorderSide(color: Theme.of(context).primaryColor)), ), child: BottomNavigationBar( currentIndex: currentIndex, iconSize: 25, type: BottomNavigationBarType.fixed, backgroundColor: Colors.white, items: items, onTap: onTap, ), ); } } List homeActions(BuildContext context) { return [ IconButton( icon: Icon(Icons.search, color: Colors.white), onPressed: () { // 搜索功能 }, ), // IconButton( // icon: Icon(Icons.add, color: Colors.white), // onPressed: () { // Navigator.pushNamed(context, '/recordForm'); // }, // ), ]; }