android app修改界面语言的解决思路

简单的说就是让用户选择app使用哪种语言。

大部分情况下,app的语言是由操作系统根据系统语言来设定的,比较理想的情况是系统能够正确地指导app显示用户希望的语言(google也希望app处于这样的环境下)。对于原生的android系统(google发布),这一点是可以达成的,系统支持大部分常见语言,只要app提供了响应的语言包就行。

但有两种特殊情况:

1、某些android系统(非google发布),只支持有限的几种语言,比如仅支持”简中、繁中、英“,即使app支持了日语也没用;

2、app希望能够支持:界面显示与系统不同的语言。比如系统设置为”英“,但允许app显示”简中“;

解决这两个问题的方法就是在app内提供设置界面语言(指app界面使用的语言,而非系统语言)的途径。大概的思路是这样的:

1、每次app启动的时候将系统使用的语言保存起来;

2、在app内部提供用户切换语言的界面。如app支持”简中,英,繁中“,系统支持”简中,英“,那么可切换的清单包括:

”跟随系统“:

”简中“:

”繁中“:

”英“:

用户选择了语言后,也要保存起来。

3、每次启动后,要比较系统语言与用户选择的语言是否一致。如果一致,则不需要再进行任何操作。如果不一致,则需要将app的界面语言设置一次;

为了改善用户的体验,可以在用户选择了一种新的界面语言后重新装载所有资源,放在一个单独的线程中运行,装载完成后给一个通知。当然,也可以选择从root activity重新启动一次app。

大概的思路就是这样。

猜你喜欢

转载自blog.csdn.net/anod/article/details/83062023