前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑释惑】Android多国语言实现原理

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

作者头像
程序员互动联盟
发布2018-03-14 15:01:15
9180
发布2018-03-14 15:01:15
举报
先来看一下网友的问题:

网友们问的问题是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"那就写死了,进行语言切换的时候这个控件显示的内容是不会改变的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档