正如标题所述,如果小部件类是从StatelessWidget扩展的,则
Localizations.of<MaterialLocalizations>(context, MaterialLocalizations);
任何想法都会返回null吗?
答案 0 :(得分:2)
有同样的问题。在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(...)),
如果这不能解决您的问题,我们可能需要查看更多代码:)!
答案 1 :(得分:0)
如果从函数外部调用它,则会导致问题,因为无法获得正确的上下文。
Widget build(BuildContext context) {}
您可以通过
处理希望获得帮助。