flutter:更改当前语言后如何重建所有qpp

问题描述 投票:0回答:3

在执行诸如更改主题或更改当前语言之类的操作后重建应用程序,我使用(easy_localization:^ 3.0.0)包来更改语言 轻松本地化( 孩子:MyApp(当前模式:当前模式), 支持的语言环境:const [ 区域设置('ar'), 区域设置('en'), ], 路径:'资产/翻译', startLocale: const Locale('ar'), assetLoader: const CodegenLoader(), ),

flutter dart
3个回答
0
投票

如果您正在寻找此问题的解决方案,这个解决方案非常有效(经过测试)!

  1. 这里
  2. 添加phoenix包
  3. 用 Phoenix 包裹你的主部件

void main() {
  runApp(
    Phoenix(
      child: App(),
    ),
  );
}

  1. 在应用程序中的任何位置调用重生方法,就像这样
    Phoenix.rebirth(context);

0
投票

或者利用状态管理解决方案,例如 Riverpod。

您将设置放在提供程序中,并在状态更新时应更改的页面上观看它。


0
投票

我的解决方案是通过从堆栈中删除以前的页面来导航到启动页面。

例如,如果您使用 go_router 包,则可以使用 context.go(your_splash_page)

© www.soinside.com 2019 - 2024. All rights reserved.