Localization 从一个材质应用程序切换到另一个材质应用程序时,会出现短时间的黑屏
从一个材质应用程序切换到另一个材质应用程序时,会出现短时间的黑屏。仅当我设置MaterialApp的localizationDelegates时才会发生这种情况 您可以运行以下回购来复制发行:Localization 从一个材质应用程序切换到另一个材质应用程序时,会出现短时间的黑屏,localization,flutter,Localization,Flutter,从一个材质应用程序切换到另一个材质应用程序时,会出现短时间的黑屏。仅当我设置MaterialApp的localizationDelegates时才会发生这种情况 您可以运行以下回购来复制发行: 我不知道是什么导致了黑屏。您知道吗?您的问题发生是因为您从更新了小部件树 Foo MaterialApp 到 这使得颤振硬复位材料PP的状态,触发加载 一般来说,你应该避免这样做。最好始终使用空数据插入Bar,或者使用GlobalKey: final key = GlobalKey(); // ..
我不知道是什么导致了黑屏。您知道吗?您的问题发生是因为您从更新了小部件树
Foo
MaterialApp
到
这使得颤振硬复位材料PP
的状态,触发加载
一般来说,你应该避免这样做。最好始终使用空数据插入Bar
,或者使用GlobalKey
:
final key = GlobalKey();
// ...
Widget build(BuildContext context) {
final app = MaterialApp(key: key);
return someCondition
? Bar(child: app)
: app;
}
GlobalKey
有目的地重用与键关联的先前元素
您的问题之所以发生,是因为您从
Foo
MaterialApp
到
这使得颤振硬复位材料PP
的状态,触发加载
一般来说,你应该避免这样做。最好始终使用空数据插入Bar
,或者使用GlobalKey
:
final key = GlobalKey();
// ...
Widget build(BuildContext context) {
final app = MaterialApp(key: key);
return someCondition
? Bar(child: app)
: app;
}
GlobalKey
有目的地重用与键关联的先前的元素
为什么要在可以更新其子项时创建新的materialapp?我想在流有数据时使用DataProvider包装materialapp,以便所有路由都可以访问该数据。是的,但这并不意味着您必须重新创建materialapp您的目标是什么建议?使用继承的小部件,如主题
或一些自定义小部件。您不会重新创建MaterialApp,但行为是相同的为什么在可以更新其子级时创建新MaterialApp?我想在流有数据时使用DataProvider包装MaterialApp,以便所有路由都可以访问该数据。是的,但这并不意味着您必须重新创建MaterialApp您的建议是什么?使用继承的小部件,例如主题
或一些自定义主题。您不会重新创建MaterialApp,但其行为与您相同。GlobalKey解决了这个问题。但我也不得不做一些更奇怪的事情。问题是我正在根据情况改变房子。如果有数据,则显示主页。但如果没有,我会显示一个输入屏幕,然后从该屏幕导航到另一个屏幕(Splash),该屏幕也会保持在所有内容的顶部,即使我有数据,它应该显示主页,但我在我的颤振检查器中看到Splash和Home都在MaterialApp下,所以我所做的就是监听数据流,当有数据时我会弹出SplashPage。你介意再问一个问题吗?老实说,我不明白这个问题,评论也不是很好。我的大脑在更新回购协议时开始工作。当然它会显示SplashScreen,因为我是从家里导航到它的。我在想什么?啊!所以,即使我的主页更新了主页,我也需要从路由堆栈返回查看它。所以我最终在一个页面内处理InputPage和SplashPage内容,所以这里没有导航业务。谢谢你的帮助和关心,雷米。谢谢你。GlobalKey解决了这个问题。但我也不得不做一些更奇怪的事情。问题是我正在根据情况改变房子。如果有数据,则显示主页。但如果没有,我会显示一个输入屏幕,然后从该屏幕导航到另一个屏幕(Splash),该屏幕也会保持在所有内容的顶部,即使我有数据,它应该显示主页,但我在我的颤振检查器中看到Splash和Home都在MaterialApp下,所以我所做的就是监听数据流,当有数据时我会弹出SplashPage。你介意再问一个问题吗?老实说,我不明白这个问题,评论也不是很好。我的大脑在更新回购协议时开始工作。当然它会显示SplashScreen,因为我是从家里导航到它的。我在想什么?啊!所以,即使我的主页更新了主页,我也需要从路由堆栈返回查看它。所以我最终在一个页面内处理InputPage和SplashPage内容,所以这里没有导航业务。谢谢你的帮助和关心,雷米。