Android 中英文切换的实现。

有的项目。需要英语。这时候就涉及了中英文的切换了
前提:字符串都在string 中写两份。
一份是在 values中的strings中定义汉字
另外一份,就是你要切换的语言了。在相同的位置新建一个文件夹命名为: values-en 里面新建一个strings 文件.
预备开始。

private SharedPreferences sp;//这个必须得存在本地吧。不然你设置之后,当时改变了,人家从新进入APP中,又变回来了。多捉急呀。
private SharedPreferences.Editor ed;
private int type;//0是英语。其他是中文

一。提交 默认语言为中文
sp=this.getSharedPreferences("language",MODE_PRIVATE);
type=sp.getInt("type",0);//1是英语。0是中文
ed=sp.edit();
//先查询一波
setLanguage();

二,
//点击后这里设置一个按钮。 给它一个点击事件。
  if(type==0){//说明当前是中文。
            type=1;//先变个状态
            FTConfig.TYPE= 1;//改变下
            mLanguageTv.setText("中文");//把当前显示的改成中文
            mRegBtn.setText("ENROLL");
            mLoginBtn.setText("ENTER");
        }else{
            type=0;
            FTConfig.TYPE= 0;//0是汉语
            mLanguageTv.setText("中文");
            mRegBtn.setText("ENROLL");
            mLoginBtn.setText("ENTER");

            mLanguageTv.setText("English");
            mRegBtn.setText("注册");
            mLoginBtn.setText("登录");

        }
//最后再把 对应的状态 存在本地。
        ed.putInt("type",type);
        ed.commit();
        setLanguage();
        break;



//这个是改变中英文状态的代码
public void setLanguage(){
    Resources resources=getResources();//获得res资源对象
    Configuration config=resources.getConfiguration();//获得设置对象
    DisplayMetrics dm=resources.getDisplayMetrics();//获得屏幕参数:主要是分辨率像素等。
    if(type==1){
        config.locale= Locale.ENGLISH;
    }else{
        config.locale= Locale.SIMPLIFIED_CHINESE;
    }
    resources.updateConfiguration(config,dm);
}

OK了。需要注意的是。你得定义两份,并且在XML中的文字都是引用的。切记哟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值