我有这个 Flutter iOS 风格的秒表,我想在切换屏幕时保持秒表运行。
我已经尝试在我的 Stopwatch 的 initState 函数中放置一些 setState ,但这不起作用。
我认为当我回到秒表屏幕时它不会重建小部件。
//我在 home_screen.dart 文件中的构建器
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(
controller: controller,
tabBar: CupertinoTabBar(
items: [
BottomNavigationBarItem(
icon: Icon(
Ionicons.getIconData('ios-globe'),
),
title: Text('World Clock'),
),
BottomNavigationBarItem(
icon: Icon(
Ionicons.getIconData('ios-alarm'),
),
title: Text('Alarm'),
),
BottomNavigationBarItem(
icon: Icon(
Ionicons.getIconData('ios-bed'),
),
title: Text('Bedtime'),
),
BottomNavigationBarItem(
icon: Icon(
Ionicons.getIconData('ios-stopwatch'),
),
title: Text('Stopwatch'),
),
BottomNavigationBarItem(
icon: Icon(
Ionicons.getIconData('ios-timer'),
),
title: Text('Timer'),
),
],
),
tabBuilder: (context, i) {
if(i == 3){
final Dependencies dependencies = new Dependencies();
return StopWatch(dependencies: dependencies,);
}else{
return CupertinoTabView(
builder: (context){
return CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text(chooseMiddle(i)),
),
child: Center(
child: Text('Screen $i'),
),
);
},
);
}
},
);
}