l1n在initState之前调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了l1n在initState之前调用相关的知识,希望对你有一定的参考价值。

发现了Flutter对l10n和void initState()处理的问题。

l10n运行良好,它是自己的。这项工作,但我发现了一个我认为应该贴上标签的特定场景。我将通过展示example更具体。以下代码取自gallery app

...
  @override
  void initState() {
    super.initState();
    _navigationViews = <NavigationIconView>[
      NavigationIconView(
        icon: const Icon(Icons.access_alarm),
        title: 'Alarm',
        color: Colors.deepPurple,
        vsync: this,
      ),
      NavigationIconView(
        activeIcon: CustomIcon(),
        icon: CustomInactiveIcon(),
        title: 'Box',
        color: Colors.deepOrange,
        vsync: this,
      ),
      NavigationIconView(
        activeIcon: const Icon(Icons.cloud),
        icon: const Icon(Icons.cloud_queue),
        title: 'Cloud',
        color: Colors.teal,
        vsync: this,
      ),
      NavigationIconView(
        activeIcon: const Icon(Icons.favorite),
        icon: const Icon(Icons.favorite_border),
        title: 'Favorites',
        color: Colors.indigo,
        vsync: this,
      ),
      NavigationIconView(
        icon: const Icon(Icons.event_available),
        title: 'Event',
        color: Colors.pink,
        vsync: this,
      )
    ];

    _navigationViews[_currentIndex].controller.value = 1.0;
  }
...

我正在努力在initState函数中使用本地化。你可以(有点)通过使用用户的语言代码来绕过它,并手动翻译它而不是使用locales.dart文件,我不认为这是一个应该解决的持续问题。

注意:当我写这篇文章时,我已经想过通过调用前一类的l10n字符串来绕过这个想法 - 测试这个理论。

以上是关于l1n在initState之前调用的主要内容,如果未能解决你的问题,请参考以下文章

未处理的异常:在 _ScreenState.initState() 完成之前调用了 inheritFromWidgetOfExactType(_LocalizationsScope) 或 inheri

颤振异步调用不会在 initState() 中异步运行

如何在颤动中从父小部件调用子小部件的initState()方法

如何在initState中调用cubit类中的函数?

有没有办法在 InitState 方法上加载异步数据?

调用 onCreateView() 之前出现“找不到片段 id 的视图”错误