专栏首页程序员互动联盟【答疑释惑】Android多国语言实现原理

【答疑释惑】Android多国语言实现原理

先来看一下网友的问题:

网友们问的问题是android中布局文件中android:text="hello_world"和

android:text="@string/hello_world"的区别。

我的解答是:

Android中都会提供多套资源来进行屏幕的适配和语言适配,来看一下Google源码下一个APP的资源目录:

首先在要知道每次在string.xml文件中添加字符串的时候都会生成一个字符串ID,ID是一个int值,比如上面的是R.string.hello_world,这个是编译器自动生成的,如现在string.xml文件添加hello_world,如下:

然后就会自动在R.java文件中生成对应的资源ID。

这个资源ID:hello_world对应着不同value包下string.xml文件中的字符串资源hello_world,在进行语言切换的时候Android系统会自动寻找当前语言对应的资源包中的资源,完成语言切换。

如果你在布局文件中写android:text="hello_world"那就写死了,进行语言切换的时候这个控件显示的内容是不会改变的。

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 有人说现在阿里和腾讯两头独大,对此你怎么看?

    从国内互联网公司的市值看,阿里和腾讯的确是独自占据一个档,两个巨无霸你追我赶的两个巨头加起来几乎占据了互联网的全部,曾经的bat现在变成了at之间的游戏了,两家...

    程序员互动联盟
  • 【C语言练手】C语言画太极图

    呵呵昨天花了一个圆,今天想画个太极图,我知道没啥技术含量,但是挺有意思的,希望各位看官不要鄙视我不务正业,画完此图,不再做这些事情。 先展示下画出来的图像的情况...

    程序员互动联盟
  • 【答疑解惑】C语言里面如何计算数据类型取值范围?

    先看一个网友的问题: ? 初学者有不少会对数据类型的取值范围有疑问,数据类型的取值范围关系到定义合适的变量,尤其是在进行嵌入式开发时更要清楚。这里有必要介绍一下...

    程序员互动联盟
  • python3 集合

    py3study
  • 专家探讨神经形态计算未来发展之路

    多位国际电气和电子工程师协会(IEEE)会员联合发表了一篇神经形态计算与神经网络硬件的全面调研(调研得到了美国能源部先进科学计算研究办公室、橡树岭国家实验室的支...

    人工智能快报
  • 整合Kafka到Spark Streaming——代码示例和挑战

    作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术...

    CSDN技术头条
  • win10/server2016/server2019关闭系统自带安全保护

    Windows10/Server2016/Server2019自带的安全保护比较烦,如果你改了好几个地方、重启了好几次都没搞定,没关系,我告诉你个我研究出来的办...

    shawyang
  • 算法细节系列(5):二分查找应用

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447
  • 数据结构算法操作试题(C++/Python)——搜索旋转排序数组

    数据结构算法操作试题(C++/Python):数据结构算法操作试题(C++/Python)——目录

    莫斯
  • 织梦无法进入后台解决方法

    织梦升级为5.7版本后,进入后台有时会提示“DedeCMS Error: (PHP 5.3 and above) Please set ‘request_ord...

    赵帆同学GXUZF.COM

扫码关注云+社区

领取腾讯云代金券