Author:jianlong.zhang Date:6/6/2017 Desc:官方培训课程学习,支持不同的语言。 Thanks: Goole 官方培训教程
完整代码如下:
package com.zhouzhouwang88.shoppingclient.test; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.zhouzhouwang88.shoppingclient.R; import com.zhouzhouwang88.shoppingclient.base.BaseActivity; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class PreferenceActivity extends BaseActivity implements View.OnClickListener { private Button englishBtn, chineseBtn, chineseBtnTW; private TextView showTv; private static final Locale ENGLISH = Locale.ENGLISH; private static final Locale CHINESE_SIMPLE = Locale.SIMPLIFIED_CHINESE; private static final Locale CHINESE_TW = Locale.TRADITIONAL_CHINESE; @Override protected int inflateRoot(Bundle savedInstanceState) { return R.layout.activity_preference; } @Override protected void initView(Bundle savedInstanceState) { showTv = (TextView) findViewById(R.id.tv_show); preference = (RecyclerView) findViewById(R.id.activity_preference_rv); englishBtn = (Button) findViewById(R.id.btn_english); chineseBtn = (Button) findViewById(R.id.btn_chinese_simple); chineseBtnTW = (Button) findViewById(R.id.btn_chinese_tw); englishBtn.setOnClickListener(this); chineseBtn.setOnClickListener(this); chineseBtnTW.setOnClickListener(this); } @Override protected void initData(Bundle savedInstanceState) { } @Override public void onClick(View v) { Context context = null; switch (v.getId()) { case R.id.btn_english: context = switchLanguage(ENGLISH); break; case R.id.btn_chinese_simple: context = switchLanguage(CHINESE_SIMPLE); break; case R.id.btn_chinese_tw: context = switchLanguage(CHINESE_TW); break; } if (null != context) {// 这里获取strings 要使用Configuration context showTv.setText(context.getString(R.string.content)); } } private Context switchLanguage(Locale locale) { //先获取resource Resources resources = getResources(); //获取应用的配置 Configuration configuration = resources.getConfiguration(); // 设置语言 configuration.setLocale(locale); // 返回获取 strings的context return createConfigurationContext(configuration); } }