[英]Flutter Routes within Bottom Navigation Bar
我正在嘗試實現外部Route文件,以將我的應用程序的所有路由信息都保存在一個文件中。 我現在正在嘗試在BottomNavigationBar中使用所述路由文件。
我一直在觀看無數視頻和閱讀文章,並嘗試了多種不同的實現方式
Routes.dart
import 'package:flutter/material.dart';
import 'package:second_try/Screens/homeScreen.dart';
import 'package:second_try/Screens/agendaScreen.dart';
class RouteGenerator{
static Route<dynamic> generateRoute(RouteSettings settings){
final args = settings.arguments;
switch (settings.name){
case '/':
return MaterialPageRoute(builder: (_)=> homeScreen());
case '/agenda':
if (args is String) {
return MaterialPageRoute(builder: (_)=> agendaScreen());
}
}
}}
bottomNavigation小部件
import 'package:flutter/material.dart';
import 'package:second_try/Screens/homeScreen.dart';
import 'package:second_try/Screens/agendaScreen.dart';
import 'package:second_try/routes.dart';
class bottomNavigation extends StatefulWidget {
@override
_bottomNavigation createState() => _bottomNavigation();
}
class _bottomNavigation extends State<bottomNavigation> {
int currentNavItem = 0;
homeScreen home;
agendaScreen agenda;
List<Widget> pages;
Widget currentPage;
@override
void initState(){
home = homeScreen();
agenda = agendaScreen();
pages = [home, agenda];
currentPage = home;
super.initState();
}
@override
Widget build(BuildContext context) {
return BottomNavigationBar(
type: BottomNavigationBarType.fixed,
selectedItemColor: Colors.deepPurpleAccent,
unselectedItemColor: Colors.grey,
selectedFontSize: 16,
currentIndex: currentNavItem,
onTap: (int index) {
Navigator.of(context).pushNamed('/agenda');
setState(() {
currentNavItem = index;
currentPage = pages[index];
},
);
},
我對抖動非常陌生,並且由於這種實現而迷失了自己。 感謝您的幫助和預先輸入!
你可以試試這個嗎?
Navigator.pushReplacementNamed(context, '/agenda');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.