正如标题所说,如果小部件类是从StatelessWidget扩展而来的
Localizations.of<MaterialLocalizations>(context, MaterialLocalizations);会返回null有什么想法吗?
发布于 2020-04-21 16:45:32
也有同样的问题。在flutter存储库中有一个开放的github issue。对我来说,唯一能解决这个问题的是创建一个独立的小部件,如下所示:
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
localizationsDelegates: [...],
supportedLocales: ..,
locale: ...,
home: MyAppPage()); // separat MyAppPage instead of putting widget code with translations here
}
// MyAppPage
class MyAppPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
...
body: Center(
child: Text(AppTranslations.of(context).translate(...)),如果这不能解决您的问题,我们可能需要查看更多代码:)!
发布于 2020-05-27 16:19:07
如果你从外部的函数调用它,它会导致问题,因为它不能获得正确的上下文。
Widget build(BuildContext context) {}可以通过以下方式处理此问题
希望这能有所帮助。
https://stackoverflow.com/questions/51094878
复制相似问题