标签:android android-activity android-studio android-spinner
我有一个Spinner,在登录页面上有三种语言选择.我想当用户选择一种语言时假设“波斯语”语言整个应用程序的语言应该改变.我只能更改当前活动的语言.如何更改整个应用程序的语言.
解决方法:
在Android中以编程方式更改语言
以下是更改应用程序区域设置的适当方法:
要以编程方式更改语言,必须克服一些困难.
1.)在配置更改期间关闭或重新创建后,您的应用程序将不会记住您的语言更改.
2.)您应该根据所选语言正确更新当前可见的UI.
解
“LocaleHelper”是您所需要的解决方案.您只需在应用程序的主类上初始化语言环境.之后,您的所有语言更改都将持续存在.
在Android API Version 24(Nougat)最近的更改之后,我们需要覆盖attachBaseContext以反映更改.
以下方法用于更改应用程序的语言:
private static boolean updateResources(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return true;
}
在以下链接中查找更多详情:
Changing Android’s Locale Programmatically
标签:android,android-activity,android-studio,android-spinner 来源: https://codeday.me/bug/20190627/1307709.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。