android app英文 英文模式,Android APP 中英文切换
实习期间,师父要求做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 中英文切换相关推荐
- android 8.1 夜间模式,android 快速实现夜间模式
最近项目中遇到了一个问题,夜间模式在8.0以上的手机中不起作用,查看了一下原因,是夜间模式实现方法的问题.分两种情况介绍一下 先看一下运行效果: 第一种 是目前项目中用到的,是以前的开发人员写的,存在 ...
- iPhone 手机怎么设置App Store的显示语言,中英文切换
苹果的 App Store 语言类型取决于你的 Apple ID 账号的国籍设置,它会根据你的 Apple ID 国籍自动调整 App Store 的语言显示.要想把 App Store 设置成中文, ...
- android常用的工厂模式,Android的设计模式-简单工厂模式
前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中:java 1.定义 定义一个用于建立对象的接口,让子类决定实例化哪一个类.设计模式 2.介绍 简单工厂模式属于建立型模式. 简单工厂模 ...
- Android自动启用夜间模式,Android – 切换夜间模式
什么是夜间主题以及如何在ANDROID中使用它? Support Library 23.2(应用于API14+)推出了适合Android Apps的DayNight主题,它将根据时间和用户最后一次提供 ...
- android中热更新模式,Android热更新与开启Instant Run
配置完热更新后,直接run模式运行,程序会报以下错误: Tinker does not support instant run mode, please trigger build by assemb ...
- android 自动开启调试模式,android user版本默认开启调试模式
由于项目需要,需要发布版本默认开启调试模式,修改方式如下: 1.开启开发者模式 context.getSharedPreferences(DevelopmentSettings.PREF_FILE,C ...
- android如何做夜间模式,Android实现日夜间模式的三种常用方法(一)
1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android Support Library中的 UiMode来支持日间/夜间模式的切换: 3.通过资源 id 映射,回 ...
- android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析
免打扰功能的入口在NotificationSettings中, 点击列表项跳转到ZenModeSettings.java android:title="@string/zen_mode_se ...
- Android(二)——汉化版Eclipse的中英文切换
文章目录 1. 汉化版 Eclipse 2. 切换成英文版 3. 切换为之前汉化版 1. 汉化版 Eclipse 2. 切换成英文版 1.打开安装包文件夹目录,选择 ini 配置文件 2.如图所示图中 ...
- android里的oneshot模式,android – 使用ONE_SHOT标志等待意图
目前我有这个代码: public static void setupAlarm(Context context) { Intent myIntent = new Intent(context,Rece ...
最新文章
- 你值得拥有!更省钱地完成数据监听
- Android:安卓APP开发显示一个美女,安卓APP开发显示两个美女
- 基于量子粒子群算法实现天线阵列优化
- 高德地图JavaScript API开发研究
- c语言修改windows系统时间,c语言实现系统时间校正工具代码分享
- app获取个人信息是否合法_重拳出击!42款APP过度收集用户信息被点名
- 嵌入式数据库 HSQLDB
- iOS 怎么设置 UITabBarController 的第n个item为第一响应者?
- 深圳人才引进,大学生,公司的福利
- 基于JAVA+Servlet+JSP+MYSQL的教师教学评价系统
- c++之string类详解
- 大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
- 打印机软件未通过电脑测试,打印机测试错误 原因administrator解决办法
- 淘宝/天猫买家信息 API
- 随笔-不足与外人道也
- 毕业论文查重时泄露怎么办?
- SQL中row_numer、rank、dense_rank的区别与用途
- 1005错误解决办法
- 速卖通平台的未来在于走品牌化道路
- 位运算符——取反运算符~的理解
热门文章
- 数据结构java实验 刘小晶_《数据结构实例解析与实验指导——Java语言描述》刘小晶著【摘要 书评 在线阅读】-苏宁易购图书...
- Excel操作之获取数据——从Excel导入CSV文件数据
- 你不得不看的leetcode常见题(3月份每日一题)——Python
- APP的兴起,是普通SEO站长的没落吗?
- JKTD-1000型铁电材料测试仪
- Web-HTML和CSS
- 4 | Nikto使用
- Sublime text 3143 授权码/注册码
- 土木工程正在沦为“天坑”专业…
- C语言中的逗号表达式