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