Localizations.of 从 StatelessWidget 返回 null

2023-12-22

正如标题所说,如果小部件类扩展自StatelessWidget

Localizations.of<MaterialLocalizations>(context, MaterialLocalizations);

会返回 null 有什么想法吗?


有同样的问题。有一个开放的github问题 https://github.com/flutter/flutter/issues/26365在颤振存储库中。唯一为我解决这个问题的是创建一个单独的小部件,如下所示:

@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(...)),

如果这不能解决您的问题,我们可能需要查看更多代码:)!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Localizations.of 从 StatelessWidget 返回 null 的相关文章

随机推荐