IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Android 动态支持多语言

    csharp25发表于 2017-04-12 22:55:01
    love 0
    资源文件values/strings.xml中添加
    <string name="current_language">English</string>
    <string name="test">test</string>

    创建values-en文件夹,添加资源文件
    strings.xml:

    <resources>
    <string name="current_language">English</string>
    <string name="test">test</string>
    </resources>



    创建values-zh文件夹,添加资源文件
    strings.xml
    <resources>
    <string name="current_language">Chinese</string>
    <string name="test">测试</string>
    </resources>

    MainActivity layout中添加测试控件
    <TextView 
    ...
    text = "@string/userid"
    ...
    />


    Main Activity 中添加代码:


    public class MainActivity ...
    {
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		...
    		updateResources(this,"zh");
    		
    		...
    	}
    }
    
    
    
    
    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;
        }




沪ICP备19023445号-2号
友情链接