Android 中英文切换

看似很复杂的中英文切换其实很简单,如果在做项目的工程中,首先要看一下项目设计的功能,看看有没有中英文,不然到后面操作的时候会非常麻烦,因为,你需要把项目里的每一个字都要放在string.xml文件里面,你要是平常直接写在布局里面,那可就难受了

分享一下实现的几个步骤:
1. 要实现中英文,首先在res下面创建一个文件夹,values-en ,然后你再里面创建一个string.xml 文件,你就会发现这个文件有一个国外的国旗一样的标志,这就代表你创建成功了
2. 就比如,你再布局里面一个表示字体的string.xml里面的一个参数,比如

values文件夹下的:

    <string name="cancel">取消</string>
	<string name="confirm">确认</string>

values-en文件夹下的:

    <string name="cancel">cancel</string>
    <string name="confirm">confirm</string>

这样就能引用中引文了,

3.在布局里面:(想必大家都知道:我就简写一下)

layout_textview="string/cancel";

然后就是代码实现了,我把核心代码贴出来,你们根据自己的需求来写吧,shiftLanguage();里面的参数在最上面随便定义一个string类型的参数即可。

 public void shiftLanguage(String sta) {

        if (sta.equals("zh")) {
            Locale.setDefault(Locale.ENGLISH);
            Configuration config = getBaseContext().getResources().getConfiguration();
            config.locale = Locale.ENGLISH;
            getBaseContext().getResources().updateConfiguration(config
                    , getBaseContext().getResources().getDisplayMetrics());
            refreshSelf();
        } else {
            Locale.setDefault(Locale.CHINESE);
            Configuration config = getBaseContext().getResources().getConfiguration();
            config.locale = Locale.CHINESE;
            getBaseContext().getResources().updateConfiguration(config
                    , getBaseContext().getResources().getDisplayMetrics());
            refreshSelf();
        }
    }
  public void refreshSelf() {
        Intent intent = new Intent(this, MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    }
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值