import 'package:flutter/material.dart'; import 'package:flutter_first_station/guess/guess_page.dart'; import 'package:flutter_first_station/muyu/muyu_page.dart'; import 'package:flutter_first_station/paper/paper.dart'; import '../net_article/views/net_articel_page.dart'; import 'app_bottom_bar.dart'; class AppNavigation extends StatefulWidget { const AppNavigation({Key? key}) : super(key: key); @override State createState() => _AppNavigationState(); } class _AppNavigationState extends State { int _index = 0; final PageController _ctrl = PageController(); final List menus = const [ MenuData(label: '猜数字', icon: Icons.question_mark), MenuData(label: '电子木鱼', icon: Icons.my_library_music_outlined), MenuData(label: '白板绘制', icon: Icons.palette_outlined), MenuData(label: '网络文章', icon: Icons.article_outlined), ]; @override Widget build(BuildContext context) { return Scaffold( body: _buildContent(), bottomNavigationBar: AppBottomBar( currentIndex: _index, onItemTap: _onChangePage, menus: menus, ), ); } void _onChangePage(int index) { _ctrl.jumpToPage(index); setState(() { _index = index; }); } Widget _buildContent() { return PageView( physics: const NeverScrollableScrollPhysics(), controller: _ctrl, children: const [ GuessPage(), MuyuPage(), Paper(), NetArticlePage(), ], ); } }