Android應用資源可分爲兩大類:
- 無法直接訪問的原生資源,保存在assets目錄下.
- 可通過R資源清單類訪問的資源,保存在res目錄下.
大部分Android應用資源都是指位於res目錄下的應用資源,Android SDK會在編譯該應用時R類中爲它們創建對應的索引項.
Android要求在res目錄下用不同的子目錄來保存不同的應用資源,以下是Android不同資源在res目錄下的存儲方式:
|— res
|— drawable-xhdpi
|— image.png
|— drawable-hdpi
|— image.png
|— drawbale-mdpi
|— image.png
|— drawable-ldpi
|— image.png
|— layout
|— main.xml
|— layout-land
|— main.xml
|— layout-large
|— main.xml
|— layout-large-land
|— main.xml
|— values
|— strings.xml
|— values- es
|— strings.xml
|— values-fr
|— strings.xml
1.在res/drawabel-*目錄下存放着不同的位圖,主要爲了更好地適應屏幕的分辨率,提供了四種尺寸分辨率的圖片:
- xhdpi:2.0
- hdpi:1.5
- mdpi:1.0(基線)
- ldpi:0.75
這就意味着,當我們爲xhdpi的設備創建一張200x200的圖片時,同時需要爲hdpi的設備創建一張150x150的圖片,爲mdpi的設備創建一張100x100的圖片,爲ldpi的設備創建一張75x75的圖片.這樣一來,當Android應用程序中不同的分辨率的設備使用image.png,就會自動匹配其不同的res/drawable-*/image.png進行顯示,從而不會出現圖片顯示不清的情況發生.
2.在res/layout-*目錄下存放着不同分辨率的界面佈局文件:
- res/layout目錄存放默認的界面佈局文件
- res/layout-land目錄存放屏幕橫向顯示時的界面佈局文件
- res/layout-large目錄存放屏幕較大的設備界面佈局文件
- res/layout-large-land目錄存放屏幕較大的設備橫向顯示時的界面佈局文件
在設計界面佈局文件時,可以根據自己的需要定製適應自己設備的界面佈局文件,並不用只是圍繞這幾個文件設計界面佈局文件.
3.在res/values-*目錄下存放各種簡單的XML文件,包括字符串值、整數值、顏色值、數組等.因而,最關鍵的是字符串值,例如,不同的字符串來自於不同的語言,當設備在使用時,更換了系統語言,如從中文切換成英語,Android應用程序顯示就有可能出現亂碼,所以res目錄下創建相應values-*/strings.xml文件:
- res/values/strings.xml爲本地化語言字符串值
- res/values-es/strings.xml爲英語字符串值
- res/values-fr/strings.xml爲法語字符串值