我的应用中有一个操作栏,显示应用标题。我也有本地化。我的问题是,当我启动应用程序时,标题(主要启动器活动)出现在错误的本地化中,然后活动看起来像刷新并且标题被修复为正确的本地化。
应用程序和mainActivity标记(在清单中)使用字符串app_name,问题是延迟。有一秒延迟,直到它被修复。
如何通过显示正确的标题(本地化)来修复它,或者隐藏它直到我看到本地化完成?
我使用此代码强制本地化在mainActivity的onCreate()
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale(Globals.getLanguage(this));
conf.setLayoutDirection(conf.locale);
res.updateConfiguration(conf, dm);
感谢。
答案 0 :(得分:1)
我老老实实地建议你采取的整个方法。人们知道要更改语言以更改手机的区域设置,我看不到具有应用特定覆盖的价值。但是,如果你要这样做 - 设置一个空白字符串作为你的应用名称,那么在通过getActionBar().setTitle()
设置语言环境后覆盖名称
如果空白名称有其他副作用(现在我可能正在考虑它可能是启动器使用的那个),请尝试将其设置为空白作为onCreate的第一行。这可能很快就会阻止它出现。