引用 http://blog.csdn.net/guolin_blog/article/details/50727753
mipmap文件夾主要用來(lái)存放icon隶症,命名規(guī)則和drawable文件夾很相似咙好,icon放置在mipmap文件夾還可以讓我們程序的launcher圖標(biāo)自動(dòng)擁有跨設(shè)備密度展示的能力渡蜻。
對(duì)于每種密度下的icon應(yīng)該設(shè)計(jì)成什么尺寸其實(shí)Android也是給出了最佳建議,icon的尺寸最好不要隨意設(shè)計(jì)学歧,因?yàn)檫^低的分辨率會(huì)造成圖標(biāo)模糊罩引,而過高的分辨率只會(huì)徒增APK大小。建議尺寸如下表所示:
系統(tǒng)會(huì)根據(jù)當(dāng)前手機(jī)屏幕密度去尋找相應(yīng)屏幕密度drawable文件夾下的圖片枝笨,可以使用如下方法先獲取到屏幕的dpi值:
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
其中xdpi代表屏幕寬度的dpi值袁铐,ydpi代表屏幕高度的dpi值,通常這兩個(gè)值都是近乎相等或者極其接近的横浑。參考如下表匹配文件夾
如果沒有剔桨,系統(tǒng)將按高密度到低密度drawable文件夾順序?qū)ふ覉D片。
如果系統(tǒng)在高drawable文件夾下找到相應(yīng)圖片徙融,系統(tǒng)會(huì)認(rèn)為該圖片是專門為高密度的設(shè)備設(shè)計(jì)的洒缀,如果直接將這張圖在當(dāng)前低密度設(shè)備上使用就會(huì)可能出現(xiàn)像素過高的情況,自動(dòng)幫我們做一個(gè)縮小操作。
如果系統(tǒng)在低drawable文件夾找到相應(yīng)圖片树绩,系統(tǒng)會(huì)認(rèn)為該圖片是專門為低密度設(shè)備設(shè)計(jì)的萨脑,如果直接將這張圖在當(dāng)前高密度設(shè)備上使用可能出現(xiàn)像素過低的情況,系統(tǒng)自動(dòng)幫我們做一個(gè)放大操作饺饭。
drawable-nodpi文件夾是在匹配密度文件夾和更高密度文件夾都找不到的情況下才會(huì)去這里查找圖片的渤早,因此放在drawable-nodpi文件夾里的圖片通常情況下不建議再放到別的文件夾里面。
圖片縮放倍數(shù)倍數(shù): 每一種密度的dpi范圍都有一個(gè)最大值瘫俊,這個(gè)最大值之間的比例就是圖片會(huì)被系統(tǒng)自動(dòng)放大的比例
理想情況是ui設(shè)計(jì)人員根據(jù)每一種密度文件下設(shè)計(jì)相應(yīng)大小的圖片≈虢妫現(xiàn)實(shí)情況下可能只有一套,那么圖片資源應(yīng)該盡量放在高密度文件夾下军援,這樣可以節(jié)省圖片的內(nèi)存開支。圖片往往被縮小称勋,占用的內(nèi)存較少胸哥。ui在設(shè)計(jì)圖片的時(shí)候也應(yīng)該盡量向高密度屏幕的設(shè)備來(lái)設(shè)計(jì)。就目前來(lái)講赡鲜,由于drawable-xxxhdpi設(shè)備支持較少空厌,因此最佳放置圖片資源的文件夾就是drawable-xxhdpi。