android国际化设置语言后不起作用,Android支持国际化多语言那点事(支持8.0+)
起因
我们在开发app可能会拓展国外市场,那么对包含英语在内的其它语言支持就很有必要了。
效果
思路
一:添加相关资源文件,并引用。
二:设置configuration,configuration里面指定语言类型。
三:在需要时候更换configuration即可。
实现
在res的values文件夹下新建相关语言类型的资源文件
右键新建资源文件,选择Locale,点击 >> 按钮
选择Language,以及地区(any region)即可
最后 文件名字和其他语言文件名字一样,strings即可。
在MyApplication里面的onCreate和onConfigurationChanged方法里面添加语言相关处理(onConfigurationChanged是为了处理横竖屏切换问题),给应用上下文对象添加configuration,configuration里面指定了当前语言。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
languageWork();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
languageWork();
}
private void languageWork() {
//自己写的工具包(如下)
Locale locale = LanguageUtil.getLocale(this);
LanguageUtil.updateLocale(this, locale);
}
}
LanguageUtil如下(没整理过的小伙伴直接用即可),为了保证语言从A切换到B,在之后启动应用依旧使用B语言,我们需要将B语言存入本地。下次启动应用,设置即可。
public class LanguageUtil {
/**
* 中文
*/
public static final Locale LOCALE_CHINESE = Locale.CHINESE;
/**
* 英文
*/
public static final Locale LOCALE_ENGLISH = Locale.ENGLISH;
/**
* 俄文
*/
public static final Locale LOCALE_RUSSIAN = new Locale("ru");
private static final String LOCALE_SP = "LOCALE_SP";
private static final String LOCALE_SP_KEY =
android国际化设置语言后不起作用,Android支持国际化多语言那点事(支持8.0+)相关推荐
- android国际化设置语言后不起作用,Android旋转屏幕后国际化语言失效的解决的方法...
本文已同步至个人博客:liyuyu.cn 近期在项目中使用到了国际化多语言(英文+中文),但在使用时发现了一个问题.当屏幕旋转后.APP语言(中文)自己主动转换为了系统语言(英文).设置了Activi ...
- 手机android主题设置在哪里,手机如何安装Android主题
手机如何安装Android主题 很多人用的智能手机用的是Android系统,那么大家知道要手机如何安装Android主题呢?下面一起来看看! 1.使用数据线连接计算机和手机,并运行91手机助手,点击界 ...
- Android Studio设置代理后显示:Cause: dl.google.com:443 failed to respond错误
以前在Android Studio 的Preference设置中,设置了socks代理后,就能够正常的进行更新和自动下载依赖,最近老是有问题,今天在添加了新的依赖后,点编译按钮就显示 Cause: d ...
- c语言空循环的作用是什么意思,C语言空循环和无穷循环有的区别
跟大家普及下空循环和无穷循环的概念,空循环并不会无休止地进行下去–在重复预先指定的次数后,它就会退出循环.无穷循环会无休止地进行下去,并且永远不会退出循环.把空循环和无穷循环对比一下,就能很好地说明它 ...
- c语言字面量的作用是为变量,C语言 字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...
- c语言字面量的作用是为变量,C语言(五) C 全局变量,局部变量,静态变量和常量...
一. 全局变量 全局变量是在所有函数体的外部定义的,程序的所有部分(其他文件的代码)都可以使用.全局变量不受作用域的影响.全局变量的生命周期一直到程序的结束,全局变量是静态存储方式. 例: #incl ...
- android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...
我只是想开始在Android中进行开发.因此,问题是当我尝试通过发出命令emulator @ A2来启动仿真器时,屏幕上会出现一个仿真器.但是即使等待了2-3个小时,它所显示的只是一个黑屏.甚至没有a ...
- Android studio设置相机权限,如何强制将“android.permission.CAMERA”权限添加到Codename中的清单中...
我试图在Codename One中显示后置摄像头的实时预览.我使用原生界面(我首先针对的是Android). 为了让我的应用程序能够使用相机而不会弄乱构建提示,我在主窗体中添加了以下行: if (Ca ...
- android 代码设置 键盘适应_详细讲解Android修改键盘文字的方法
1.首先,针对EditText的设置 在xml布局中,针对EditText的设置. android:layout_width="match_parent" android:layo ...
最新文章
- 3D目标检测论文阅读多角度解析
- Rsession: R sessions wrapping for Java
- 从U盘无人值守安装linux操作系统
- 一身漏洞狂奔24年!人人都用的WiFi被曝重大漏洞,随时成为监控你的工具
- QT的QQmlIncubationController类的使用
- 九、oracle 事务
- 有意思的onerror的用法
- el-table列宽设置百分比无效;el-table使用min-width设置百分比;el-table百分比设置无效;
- 如何吸引财富呢?请做这六件事吧!
- 女孩子偷偷学好软件测试,想要年薪30w也没有很难!
- thinkphp生成php文件,thinkphp使用buildHtml生成静态文件的方法
- element-ui的tree配合原生
- 360手机助手pc版 v2.4.0.1265 官方版
- php 限制字数_PHP中如何正确统计中文字数
- 计算机无法识别建行网银盾,建行网银盾无法识别怎么办 几招办法教你轻松解决...
- c语言bellman算法,深入理解Bellman-Ford(SPFA)算法
- Win10/Win7 打印机 [有线局域网共享]
- java中计算出差天数
- 优选法中的黄金分割法
- 火爆外网的ChatGPT,改Bug,敲代码不在话下