Android应用的R类与资源文件的关系说明

http://www.oschina.net/question/565065_74799


R类与资源文件关系说明

1.  静态类drawable类对应res文件夹中的drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹,drawable类中每个整型的静态常量名与这三个文件夹中的图片资源文件相同(不含扩展名),这三个文件夹中相同文件名的资源对应同一个整型变量,Android系统会根据不同类型的屏幕分辨率,自动选取合适的图片资源。

2.  静态类layout类对应res文件夹中的layout文件夹,layout文件夹中的每个布局文件在layyout类中都会有一个与文件名相同的整型静态变量。

3.  静态类string对应res/values文件夹中每个XML文件中的字符串资源,如上图中的strings.xml文件定义如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="hello"> Hello World, HelloWorld!</string>

    <string name="app_name">HelloWorld</string>

</resources>

string类使用中每个静态常量名与<string>元素中name属性值相同。

四.扩展说明

1. 资源文件与清单文件AndroidManifest.xml

    A. <application>元素中的android:icon属性会通过@drawable/icon的方式引用drawable资源文件夹中定义的icon.png图片作为Android桌面的启动图标; android:label会通过        @string/app_name的方式来引用values资源文件夹中XML文件中name属性值是app_name的<string>元素,并把<string>元素值作为Android桌面启动图标下方的应用程序名称。

    B. <activity>元素中的android:label属性通过@string/app_name方式来引用name属性值是app_name的<string>元素值,作为Activity的标题。

2. res文件夹下的所有文件不要使用大写字母命名。

3. 不要试图修改R类中的内容,Android开发工具会自动生成会维护这个静态类

4. Activity创建时会调用setContentView()方法把布局设置到Activity中

5. drawable、layout、values文件中没有文件数量的限制,可以根据需要定义多个资源文件,其中在drawable和layout文件中每追加一个文件,在drawable和layout静态类中就会自动生成一个与文件名相同整型静态变量。在values文件夹中每追加一个XML文件,文件中<string>元素的name属性值都会在string静态类中对应一个与属性值相同的静态整型常量。


你可能感兴趣的:(Android应用的R类与资源文件的关系说明)