如何在强制本地化之前隐藏应用标题?

时间:2016-04-17 10:44:58

标签: android android-layout localization android-actionbar

我的应用中有一个操作栏,显示应用标题。我也有本地化。我的问题是,当我启动应用程序时,标题(主要启动器活动)出现在错误的本地化中,然后活动看起来像刷新并且标题被修复为正确的本地化。

应用程序和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);

感谢。

1 个答案:

答案 0 :(得分:1)

我老老实实地建议你采取的整个方法。人们知道要更改语言以更改手机的区域设置,我看不到具有应用特定覆盖的价值。但是,如果你要这样做 - 设置一个空白字符串作为你的应用名称,那么在通过getActionBar().setTitle()设置语言环境后覆盖名称

如果空白名称有其他副作用(现在我可能正在考虑它可能是启动器使用的那个),请尝试将其设置为空白作为onCreate的第一行。这可能很快就会阻止它出现。