我必须这样做:
- 用户应该能够输入文本来创建帖子 - “创建帖子”按钮
- 这些帖子应该在墙上查看。
- 根据所选的语言,应用程序中的静态内容和动态内容应相应更改。它应该在应用程序的设置屏幕中可用。
我有一个问题,如何更改 MainActivity 上内容 View 的语言
最佳答案
您可以像这样更改静态内容。 首先根据语言创建字符串文件。 换语言时执行此方法
public void changeLang(String lang)
{
myLocale = new Locale(lang);
saveLocale(lang);
Locale.setDefault(myLocale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = myLocale;
getActivity().getApplicationContext().getResources().updateConfiguration(config, null);
//getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
updateTexts();
}
private void updateTexts()
{
//update text of label in here.
textLabel.setText(R.string.welcome);
}
接下来覆盖配置更改方法
@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (myLocale != null){
newConfig.locale = myLocale;
Locale.setDefault(myLocale);
getActivity().getBaseContext().getResources().updateConfiguration(newConfig, getActivity().getBaseContext().getResources().getDisplayMetrics());
}
}
我对动态内容一无所知。我认为这是不可能的。但是,如果您对其他语言有内容,则可以在更改语言时加载它。
关于java - 如何更改android中动态内容的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278327/