实习期间,师父要求做app的中英文切换,就顺便记录了下。

一、AndroidManifest.xml文件(清单文件)

在每个要切换语言的Activity下面添加:

android:configChanges="locale"

1

3 android:configChanges="locale"

4 android:launchMode="singleTop"

5 android:screenOrientation="portrait"

6 android:windowSoftInputMode="adjustPan" >

7 activity>

百度上都是这么写的,然而我并没有用到。

二、创建一个英文的strings.xml文件,目录名为values-en

or

values/strings.xml这个为默认语言,如果values-en目录下的strings.xml不存在,那英文就会选取默认语言。

1 xml version="1.0" encoding="utf-8"?>

2

3 languagestring>

4 Settingsstring>

5 updating..string>

6 resources>

三、核心代码

1 /**

2 * 刷新语言3 */

4 public voidupdateActivity(String sta) {5

6 //本地语言设置

7 Locale myLocale = newLocale(sta);8 Resources res =getResources();// 获得res资源对象9 DisplayMetrics dm =res.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。10 Configuration conf =res.getConfiguration();// 获得设置对象11 conf.locale =myLocale;// 简体中文12 res.updateConfiguration(conf, dm);13 //startActivity((new Intent(this, TabActivity.class)));14 //this.finish();

15 }

String sta= getResources().getConfiguration().locale.getCountry()  //用于判断当前的语言

Locale.getDefault().getLanguage()//语言:取到的比如中文为zh,英文为en,日文为ko;

也可以调用此类

public classLanguageSettings {private static LanguageSettings language = null;private String currentLanguage = "zh";privateLanguageSettings() {

}public staticLanguageSettings getInstance() {if (language == null) {

language= newLanguageSettings();

}else{

}returnlanguage;

}publicString getCurrentLanguage() {returncurrentLanguage;

}public voidswitchCurrentLanguage() {if (currentLanguage.equals("zh")) {

currentLanguage= "en";

}else{

currentLanguage= "zh";

}

}

}

LanguageSettings

1 //切换成英文

2 if(LanguageSettings.getInstance().getCurrentLanguage()3 .equals("zh")) {4 updateActivity("en");5 LanguageSettings.getInstance().switchCurrentLanguage();6 } else{7 //切换成中文

8 updateActivity("zh");9 LanguageSettings.getInstance().switchCurrentLanguage();10 }

LanguageSettings.getInstance().getCurrentLanguage() 给变量动态赋值的标识列,用于判断!(采用单例模式)

我自己写的是这样的:

private void checkLanguage() {

// 界面出来前判断好

String aString = SystemArgs.LANGUAGE;

System.out.print(aString);

System.out.print(SystemArgs.LANGUAGE);

String language = pref.getString(SystemArgs.LANGUAGE, "Chinese");

System.out.print(language);

Log.i("a", language);

try {

if (language.equalsIgnoreCase("Chinese") || language.equals("中文"))

chooseLanguage(Locale.CHINA);

else if (language.equalsIgnoreCase("English")

|| language.equals("英文"))

chooseLanguage(Locale.US);

} catch (Exception e) {

// Log.i("error", "语言选择出错");

}

}

private void chooseLanguage(Locale locale) {

Resources resources = getResources();// 获得res资源对象

Configuration config = resources.getConfiguration();// 获得设置对象

DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。

config.locale = locale; // 语言

resources.updateConfiguration(config, dm);

}

对于图片的更改,需要自己在oncreate里判断语言,然后显示什么图片

四、其他的记录

对ListPreference的语言选项设置默认值

try {

if (language.equalsIgnoreCase("Chinese") || language.equals("中文"))

CLanguage_ListPreference.setValueIndex(0);

else if (language.equalsIgnoreCase("English")

|| language.equals("英文"))

CLanguage_ListPreference.setValueIndex(1);

} catch (Exception e) {

// Log.i("error", "语言选择出错");

}

String language = defaultSharedPreferences.getString(

SystemArgs.LANGUAGE, "中文");

ImageView button = null;

// 图片要自己去判断语言选择

if (language.equalsIgnoreCase("Chinese") || language.equals("中文"))

android app英文 英文模式,Android APP 中英文切换相关推荐

  1. android 8.1 夜间模式,android 快速实现夜间模式

    最近项目中遇到了一个问题,夜间模式在8.0以上的手机中不起作用,查看了一下原因,是夜间模式实现方法的问题.分两种情况介绍一下 先看一下运行效果: 第一种 是目前项目中用到的,是以前的开发人员写的,存在 ...

  2. iPhone 手机怎么设置App Store的显示语言,中英文切换

    苹果的 App Store 语言类型取决于你的 Apple ID 账号的国籍设置,它会根据你的 Apple ID 国籍自动调整 App Store 的语言显示.要想把 App Store 设置成中文, ...

  3. android常用的工厂模式,Android的设计模式-简单工厂模式

    前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中:java 1.定义 定义一个用于建立对象的接口,让子类决定实例化哪一个类.设计模式 2.介绍 简单工厂模式属于建立型模式. 简单工厂模 ...

  4. Android自动启用夜间模式,Android – 切换夜间模式

    什么是夜间主题以及如何在ANDROID中使用它? Support Library 23.2(应用于API14+)推出了适合Android Apps的DayNight主题,它将根据时间和用户最后一次提供 ...

  5. android中热更新模式,Android热更新与开启Instant Run

    配置完热更新后,直接run模式运行,程序会报以下错误: Tinker does not support instant run mode, please trigger build by assemb ...

  6. android 自动开启调试模式,android user版本默认开启调试模式

    由于项目需要,需要发布版本默认开启调试模式,修改方式如下: 1.开启开发者模式 context.getSharedPreferences(DevelopmentSettings.PREF_FILE,C ...

  7. android如何做夜间模式,Android实现日夜间模式的三种常用方法(一)

    1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android Support Library中的 UiMode来支持日间/夜间模式的切换: 3.通过资源 id 映射,回 ...

  8. android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析

    免打扰功能的入口在NotificationSettings中, 点击列表项跳转到ZenModeSettings.java android:title="@string/zen_mode_se ...

  9. Android(二)——汉化版Eclipse的中英文切换

    文章目录 1. 汉化版 Eclipse 2. 切换成英文版 3. 切换为之前汉化版 1. 汉化版 Eclipse 2. 切换成英文版 1.打开安装包文件夹目录,选择 ini 配置文件 2.如图所示图中 ...

  10. android里的oneshot模式,android – 使用ONE_SHOT标志等待意图

    目前我有这个代码: public static void setupAlarm(Context context) { Intent myIntent = new Intent(context,Rece ...

最新文章

  1. 你值得拥有!更省钱地完成数据监听
  2. Android:安卓APP开发显示一个美女,安卓APP开发显示两个美女
  3. 基于量子粒子群算法实现天线阵列优化
  4. 高德地图JavaScript API开发研究
  5. c语言修改windows系统时间,c语言实现系统时间校正工具代码分享
  6. app获取个人信息是否合法_重拳出击!42款APP过度收集用户信息被点名
  7. 嵌入式数据库 HSQLDB
  8. iOS 怎么设置 UITabBarController 的第n个item为第一响应者?
  9. 深圳人才引进,大学生,公司的福利
  10. 基于JAVA+Servlet+JSP+MYSQL的教师教学评价系统
  11. c++之string类详解
  12. 大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
  13. 打印机软件未通过电脑测试,打印机测试错误 原因administrator解决办法
  14. 淘宝/天猫买家信息 API
  15. 随笔-不足与外人道也
  16. 毕业论文查重时泄露怎么办?
  17. SQL中row_numer、rank、dense_rank的区别与用途
  18. 1005错误解决办法
  19. 速卖通平台的未来在于走品牌化道路
  20. 位运算符——取反运算符~的理解

热门文章

  1. 数据结构java实验 刘小晶_《数据结构实例解析与实验指导——Java语言描述》刘小晶著【摘要 书评 在线阅读】-苏宁易购图书...
  2. Excel操作之获取数据——从Excel导入CSV文件数据
  3. 你不得不看的leetcode常见题(3月份每日一题)——Python
  4. APP的兴起,是普通SEO站长的没落吗?
  5. JKTD-1000型铁电材料测试仪
  6. Web-HTML和CSS
  7. 4 | Nikto使用
  8. Sublime text 3143 授权码/注册码
  9. 土木工程正在沦为“天坑”专业…
  10. C语言中的逗号表达式