【結(jié)論】
(1)默認(rèn)資源目錄其實(shí)差異有限,但在限定詞目錄的設(shè)置上拧额,鴻蒙比安卓設(shè)置的更細(xì)化碑诉,同時(shí)也可以看出其分布式設(shè)計(jì)的理念,這一點(diǎn)更具有優(yōu)勢(shì)侥锦;
(2)鴻蒙的base與安卓的res類同进栽,可以以此來對(duì)比學(xué)習(xí);
【鴻蒙】
resources目錄
應(yīng)用的資源文件(字符串恭垦、圖片快毛、音頻等)統(tǒng)一存放于resources目錄下格嗅,便于開發(fā)者使用和維護(hù)。resources目錄包括兩大類目錄唠帝,一類為base目錄與限定詞目錄屯掖,另一類為rawfile目錄,詳見表1没隘。
資源目錄示例:
resources
|---base // 默認(rèn)存在的目錄
| |---element
| | |---string.json
| |---media
| | |---icon.png
|---en_GB-vertical-car-mdpi // 限定詞目錄示例懂扼,需要開發(fā)者自行創(chuàng)建
| |---element
| | |---string.json
| |---media
| | |---icon.png
|---rawfile // 默認(rèn)存在的目錄
表1 resources目錄分類
限定詞目錄
限定詞目錄可以由一個(gè)或多個(gè)表征應(yīng)用場(chǎng)景或設(shè)備特征的限定詞組合而成,包括語言右蒲、文字、國家或地區(qū)赶熟、橫豎屏瑰妄、設(shè)備類型和屏幕密度等六個(gè)維度,限定詞之間通過下劃線(_)或者中劃線(-)連接映砖。開發(fā)者在創(chuàng)建限定詞目錄時(shí)间坐,需要掌握限定詞目錄的命名要求以及與限定詞目錄與設(shè)備狀態(tài)的匹配規(guī)則。
限定詞目錄的命名要求
限定詞的組合順序:語言文字國家或地區(qū)-橫豎屏-設(shè)備類型-屏幕密度邑退。開發(fā)者可以根據(jù)應(yīng)用的使用場(chǎng)景和設(shè)備特征竹宋,選擇其中的一類或幾類限定詞組成目錄名稱。
限定詞的連接方式:語言地技、文字蜈七、國家或地區(qū)之間采用下劃線(_)連接,除此之外的其他限定詞之間均采用中劃線(-)連接莫矗。例如:zh_Hant_CN飒硅、zh_CN-car-ldpi。
限定詞的取值范圍:每類限定詞的取值必須符合表2中的條件作谚,否則三娩,將無法匹配目錄中的資源文件。
表2 限定詞取值要求
限定詞目錄與設(shè)備狀態(tài)的匹配規(guī)則
在為設(shè)備匹配對(duì)應(yīng)的資源文件時(shí)妹懒,限定詞目錄匹配的優(yōu)先級(jí)從高到低依次為:區(qū)域(語言文字國家或地區(qū))> 橫豎屏 > 設(shè)備類型 > 屏幕密度雀监。
如果限定詞目錄中包含語言、文字眨唬、橫豎屏会前、設(shè)備類型限定詞,則對(duì)應(yīng)限定詞的取值必須與當(dāng)前的設(shè)備狀態(tài)完全一致单绑,該目錄才能夠參與設(shè)備的資源匹配回官。例如,限定詞目錄“zh_CN-car-ldpi”不能參與“en_US”設(shè)備的資源匹配搂橙。
資源組目錄
base目錄與限定詞目錄下面可以創(chuàng)建資源組目錄(包括element歉提、media笛坦、animation、layout苔巨、graphic版扩、profile),用于存放特定類型的資源文件侄泽,詳見表3礁芦。
表3 資源組目錄說明
【安卓】
資源目錄結(jié)構(gòu)
res為資源目錄,主要以xml語法編寫靜態(tài)的資源悼尾。
資源的命名標(biāo)準(zhǔn):小寫字母和數(shù)字柿扣,且以小寫字母開頭。
資源的生成闺魏,為了和java語法溝通未状,資源文件會(huì)自動(dòng)的生成在【gen】目錄的R.java文件里面。
資源為了適應(yīng)不同的場(chǎng)景析桥,會(huì)把不同場(chǎng)景資源區(qū)分開司草,區(qū)分方法為在資源目錄后面加上-,例如一個(gè)圖片分為高中低三種不同的分辨率,那么我們把這三個(gè)圖片的名稱取名一樣泡仗,分別放在drawable-hdpi埋虹、drawable-ldpi、drawable-mdpi三個(gè)資源目錄娩怎,Android操作系統(tǒng)會(huì)根據(jù)實(shí)際硬件環(huán)境去獲取對(duì)應(yīng)的圖片
(1)drawable-xxxxx主要是針對(duì)不同尺寸和分辨率的資源解決方案
(2)layout-xxxxx主要是針對(duì)布局文件的不同的資源解決方案搔课,例如layout是豎屏幕,layout-land是橫屏幕
(3)values-xxxx主要是針對(duì)國際化的解決方案峦树。
a辣辫、字符串(String)資源,文件strings.xml
b、數(shù)組(Array)資源,文件strings.xml
c魁巩、顏色(Color)資源,文件strings.xml
d急灭、尺寸(Dimension)資源,dimens.xml,但是依然可以放在strings.xml
e谷遂、樣式(Style)資源,styles.xml葬馋,但是依然可以放在strings.xml
f、顏色(Drawable)資源,文件strings.xml
資源目錄示例:
res
|values // 默認(rèn)存在的目錄
| |---string.xml
| |---color.xml
| |---dimens.xml
| |---attrs.xml
| |---styles.xml
|drawable // 默認(rèn)存在的目錄
| |---*.png
| |---*.jpg
| |---*.gif
| |---*.9.png
|mipmap // 默認(rèn)存在的目錄
| |---同上
|anim // 默認(rèn)存在的目錄
| |---*.xml
|layout // 默認(rèn)存在的目錄
| |---*.xml
|raw // 默認(rèn)存在的目錄
| |---.
|xml// 默認(rèn)存在的目錄
| |---*.xml
|asserts // 默認(rèn)存在的目錄
備注:
【anim】:動(dòng)畫資源
【color】:顏色資源
【layout】:布局資源
【menu】:菜單資源
【raw】:本地文件存儲(chǔ)資源
【values】:值資源
【xml】:xml文件資源
【drawable】:圖片資源和圖形資源
本文由GZH程序員小小葉發(fā)布肾扰!