是用来切换中英文的,7.0随便切,5.1切一次就切不回来了,不知道什么原因
public class StartActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
Constants.activityList.add(this);
switchLanguage(Constants.langae);
Button button3 =(Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!Constants.langae.equals("en")) {
Constants.langae = "en";
} else {
Constants.langae = "zh";
}
Locale locale = new Locale(Constants.langae);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
Resources resources = getResources();
resources.updateConfiguration(config, resources.getDisplayMetrics());
for (Activity activity : Constants.activityList) {
activity.finish();
}
startActivity(new Intent(StartActivity.this, StartActivity.class));
}
});
}
protected void switchLanguage(String language) {
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
switch (language) {
case "zh":
config.locale = Locale.CHINESE;
resources.updateConfiguration(config, dm);
break;
case "en":
config.locale = Locale.ENGLISH;
resources.updateConfiguration(config, dm);
break;
}
}
}
public class Constants {
//系统默认的类型
public static String langae = "en";
public static List activityList = new ArrayList<>();
}