【答疑释惑】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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区