Android 重绘语言变化视图

Android redraw view on language change

我的目标是在语言更改时重绘视图。我已成功分离并附加当前片段,但未翻译抽屉项目。我不想想使用Activity.recreate()而且我已经试过了:

 View myView = (View)findViewById(R.id.my_view);
 myView.invalidate();

没有成功...

使用以下配置更新 AndroidManifest 文件:

android:configChanges="locale"

在activity级别。这将触发:

onConfigurationChanged(Configuration newConfig)

您可以在代码中覆盖此方法并从那里刷新视图。有关详细信息,请查看 at this link

我的建议是通过单个函数进行 UI 修改。并根据您的代码从 onActivityCreated 或 onCreateView 调用它。所以现在无论何时您要更改语言,只需调用该函数,它就会自动更新所有视图。