1.src:存放所有的*.java來源程式。
2.gen:為ADT外掛程式自動產生的程式碼檔案儲存路徑,裡面的R.java將儲存所有的資源ID。
3.assets:可以存放項目一些較大的資源檔,例如:圖片、音樂、字型等。
4.res:可以存放項目中所有的資源檔,例如:圖片(*.png、*.jpg)、文本等。
5.res/drawable-hdpi:儲存高解析度圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。
6.res/drawable-ldpi:儲存低分辯率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。
7.res/drawable-mdpi:儲存中等解析度圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型。
8.res/layout:存放所有的布局檔案,主要是用於排列不同的顯示組件,在Android程式中要讀取此配置。
9.res/values: 存放一些資源檔的資訊,用於讀取文本資源,在本檔案夾之中有一些約定的檔案名稱:
.attrs.xml:自訂屬性值的:具體可以參考 http://blog.csdn.net/jiangwei0910410003/article/details/17006087 · arrays.xml:定義數組資料;
定義如下:
第一 第二 第三 第四
在代碼中讀取:
Resources r = this.getResources();String[] ary = r.getStringArray(R.array.MyArray);
· colors.xml:定義表示顏色的資料; · dimens.xml:定義尺度,可以使用Resources.getDimension()獲得這些資源; · strings.xml:定義字串,可以使用Resources.getString()或Resources.getText()方法獲得這些資源; · styles.xml:定義顯示的樣式檔案;
10.res/raw:自訂的一些原生檔案所在目錄,像音樂、視頻等檔案格式。存放直接複製到裝置中的任意檔案。它們無需編譯,添加到你的應用程式編譯產生的壓縮檔中。要使用這些資源,可以調用Resources.openRawResource(),參數是資源的ID也可以用,即R.raw.somefilename,Resources.getRawResource()方法可以獲得這些資源。
11.res/xml:使用者自訂的XML檔案,所有的檔案在程式運行時編譯到應用程式之中,在程式運行時可以使用Resources.getXML()方法擷取。
12.res/anim:用於定義動畫對象。存放定義了補間動畫(tweened animation)或逐幀動畫(frameby frame animation)的XML檔案。(該目錄下也可以存放定義property animations的XML檔案,但是最好還是分開存放)
13.res/animator:存放定義了propertyanimations(android 3.0新定義的動畫架構)的XML檔案
14.res/color/:存放定義了顏色狀態列表資源(ColorState List Resource)的XML檔案
15.res/drawable/:存放定義了圖片狀態列表資源(ColorState List Resource)的XML檔案
16.res/menu/:存放定義了應用程式菜單資源的XML檔案。正確建立檔案的方法:new Folder,名字menu,new Other——Android——XML,選擇menu類型,填寫名稱,確定即可。菜單資源檔必須放在res/menu目錄中。菜單資源檔必須使用標籤作為根節點。除了標籤外,還有另外兩個標籤用於設定功能表項目和分組,這兩個標籤是和。
注意:
對於res/color和res/drawable這兩個檔案中的內容在這作一下詳解:
首先說一下color檔案夾,在這個檔案夾下放的是color_selector.xml等檔案,主要是用於背景色的selector,比如TextView中的textColor屬性,點擊改變TextView中的字型顏色,在這個檔案中的檔案color_selector.xml中定義如下:
主要的屬性是android:color引用不同的色值,而這些色值是在values/color.xml檔案中定義的,比如:
#000000 #ffffff
同時也可以發現,在color_selector.xml中沒有android:drawable屬性,我不知道Android中是根據什麼判斷什麼時候有android:drawable屬性,什麼時候有android:color屬性的
下面來看一下res/drawable檔案夾中的檔案,這個檔案夾中的檔案drawable_selector.xml,主要是用於背景圖的使用,Button中的android:background,點擊改變背景,drawable_selecor.xml檔案的定義:
這裡的info_collect_btn_normal_bg和info_collect_btn_pressed_bg是圖片資源,放在drawableXX檔案夾下的。
同時也發現了在drawable_selector.xml中沒有android:color屬性,結合上面的color_selector.xml中沒有android:drawable屬性,知道了Android應該是根據檔案夾來判斷的,在color檔案夾下的檔案有android:color屬性,在drawable檔案夾下的檔案有android:drawable屬性
同時還要注意的是:像textColor和background屬性引用到的檔案不能亂引用,比如textColor引用了drawable_selector.xml,background引用了color_selector.xml會報錯的。所以要注意使用。
但是現在有個問題:假設Button現在想點擊變成綠色,不點擊變成紅色,這時候怎麼辦?
首先肯定要用background的屬性-->那肯定就要用drawable_selector.xml檔案引用,所以在drawable_selector_.xml中將android:drawable="@drawable/info_collect_btn_normal_bg"改成android:drawable="@color/not_pressed"即可,這裡可能有個誤解就是android:drawable只能引用drawable資源,但是事實證明這個誤解是多餘的!原理可以參考attr詳解中。