如何用不同的语言刷新图像按钮

时间:2014-01-15 11:20:50

标签: android

enter image description here我有一个textview(语言)和两个单选按钮(中文)和(英文)以及一个保存按钮,采用相同的布局。我的问题是在选择一种语言之后,当我点击保存按钮时,我的textview(语言)会相应地改变,但我的按钮(保存)不会刷新。

我的代码是:

 if (lang_selected.equalsIgnoreCase("English")) {
        Locale locale = new Locale("es");
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale; 
        context.getResources().updateConfiguration(config,context.getResources().getDisplayMetrics());
        //initView(view);

    }else if(lang_selected.equalsIgnoreCase("Chinese")){
        Locale locale = new Locale("zh");
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale; 
        context.getResources().updateConfiguration(config,context.getResources().getDisplayMetrics());
        //initView(view);
    }

这里我正在尝试刷新我的textview文本和Imagebutton:

 txtLanguage_onLanguageScreen.setText(getString(R.string.language));
    saveBtnlanguage.setImageResource(R.drawable.general_info_save_button);

2 个答案:

答案 0 :(得分:1)

如果问题是图像没有变成中国国旗,那么
你必须提供本地化的可绘制文件夹 即: drawable-zh 用于中文图形资源。

如果您支持多种分辨率,则还必须添加dpi:
即: drawable-zh-xhdpi 用于xhdpi(~320 dpi)资源

这里你把你的中国国旗,而在drawable(drawable-xhdpi)你把英国国旗。
由于英语是默认语言,因此不需要指定“en”。

和你的 values.zh 文件夹,包含文件strings.xml(我假设你正在使用,因为其余的工作),应该在字符串中包含中文版的“保存”称为“语言”(与英文版相同)

毕竟,建议深入阅读thisthis

答案 1 :(得分:1)

在您的values文件夹中提供中文版“保存”。创建文件夹values-zh并为中文提供string.xml。