Abd*_*aan 5 multilingual android android-manifest android-titlebar
当应用程序的语言发生变化时,如何强制android应用程序重新加载活动标题?为了您的信息,应用程序仅在旋转设备时重新加载标题.然而,活动的内容是用适当的语言内容重新加载没有问题,但活动标题!
在AndroidManifest.xml文件中,添加了android:configChanges ="locale"但没有成功.
<activity
android:name=".layout.MainActivity"
android:configChanges="locale"
android:label="@string/app_name" />
Run Code Online (Sandbox Code Playgroud)
即使重写onConfigurationChanged事件也不起作用,
@Override
public void onConfigurationChanged(Configuration newConfig) {
// refresh your views here
super.onConfigurationChanged(newConfig);
this.setTitle(getResources().getString(R.string.app_name));
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
同样的问题,通过在Activity onCreate方法中强制ActionBar标签重新加载来解决:
PackageManager pm = getPackageManager();
try {
ActivityInfo ai = pm.getActivityInfo(this.getComponentName(), PackageManager.GET_ACTIVITIES|PackageManager.GET_META_DATA);
if (ai.labelRes != 0) {
getSupportActionBar().setTitle(ai.labelRes);
}
} catch (PackageManager.NameNotFoundException e) {
e.stacktrace();
}
Run Code Online (Sandbox Code Playgroud)