public class ChangeLanguageHelper {    public static final int LANGUAGE_CHINA = 1;    public static final int LANGUAGE_ENGLISH = 2;    public static final int LANGUAGE_DEFAULT = 0;    private static Context mContext = null;    private static String country = null;    private static String mLanguage = "";    private static Resources mResources;    private static Locale mDefaultLocale;    public static void init(Context context) {        mResources = context.getResources();        country = context.getResources().getConfiguration().locale.getCountry();        mContext = context.getApplicationContext();        int appLanguage = Configure.getAppLanguage();        changeLanguage(appLanguage);    }    /**     * 获取当前字符串资源的内容     */    public static String getStringById(int id) {        String string;        if (mLanguage != null && !"".equals(mLanguage)) {            string = mResources.getString(id, mLanguage);        } else {            string = mResources.getString(id, "");        }        if (string != null && string.length() > 0) {            return string;        }        return "";    }    public static void changeLanguage(int language) {        boolean isChangeLanguage = false;        if (language != Configure.getAppLanguage()) {            isChangeLanguage = true;        }        Configuration config = mResources.getConfiguration();     // 获得设置对象        DisplayMetrics dm = mResources.getDisplayMetrics();       // 获得屏幕参数:主要是分辨率,像素等。        switch (language) {            case LANGUAGE_CHINA:                config.locale = Locale.SIMPLIFIED_CHINESE;     // 中文                config.setLayoutDirection(Locale.SIMPLIFIED_CHINESE);                mLanguage = "zh-CN";                country = "CN";                Configure.setAppLanguage(LANGUAGE_CHINA);                break;            case LANGUAGE_ENGLISH:                config.locale = Locale.ENGLISH;   // 英文                config.setLayoutDirection(Locale.ENGLISH);                mLanguage = "en";                country = "US";                Configure.setAppLanguage(LANGUAGE_ENGLISH);                break;            case LANGUAGE_DEFAULT:                country = Locale.getDefault().getCountry();                if ("US".equals(country) || "GB".equals(country)) {                    mDefaultLocale = Locale.ENGLISH;                } else {                    mDefaultLocale = Locale.SIMPLIFIED_CHINESE;                }                config.locale = mDefaultLocale;         // 系统默认语言                config.setLayoutDirection(mDefaultLocale);                Configure.setAppLanguage(LANGUAGE_DEFAULT);                break;        }        mResources.updateConfiguration(config, dm);        if (isChangeLanguage) {            EventBus.getDefault().post(new AppEvent.ChangeLanguage());        }    }    public static boolean getDefaultLanguage() {        return ("CN".equals(country));    }}

更多相关文章

  1. instrumentation
  2. Volley框架网络访问String,JsonObject,JsonArray
  3. android text 中英文混排 换行的问题
  4. android driver开发常见的英文缩写
  5. android 从Assets中读取中文文本
  6. Android(安卓)权限中文描述大全
  7. 黑马程序员.Android攻城狮.JAVA基础.1.6.String类
  8. Android向服务器上传中文乱码解决
  9. Android(安卓)与 .net 互通的RSA加密

随机推荐

  1. Android系统介绍及平台特性
  2. Android浏览器显示大分辨率图片的问题 分
  3. Android系统构架分析和应用程序目录结构
  4. Android(安卓)下的Search
  5. Android查看外部依赖jar的源码'Android(
  6. Android中Activity的4种加载模式
  7. 【Android(安卓)进阶】Android(安卓)Home
  8. Android(安卓)编译系统分析
  9. Android(安卓)Camera 模块分析
  10. Android(安卓)Instrumentation