話說微技巧這個詞也是我自己發(fā)明的,因為drawable這個東西相信大家天天都在使用,每個人都再熟悉不過了,之所以叫微技巧就是對于這個我們再熟悉不過的技術(shù),可能還有一些你所不知道的細(xì)節(jié),那今天我們就來一起探究一下這些微小的細(xì)節(jié)吧。
站在用戶的角度思考問題,與客戶深入溝通,找到康馬網(wǎng)站設(shè)計與康馬網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋康馬地區(qū)。大家都知道,在Android項目當(dāng)中,drawable文件夾都是用來放置圖片資源的,不管是jpg、png、還是9.png,都可以放在這里。除此之外,還有像selector這樣的xml文件也是可以放在drawable文件夾下面的。
但是如果你現(xiàn)在使用Android Studio來新建一個項目,你會發(fā)現(xiàn)有如下的目錄結(jié)構(gòu):
嗯?怎么會有這么多mipmap開頭的文件夾,而且它們的命名規(guī)則和drawable文件夾很相似,也是hdpi、mdpi、xhdpi等等,并且里面還真是放的圖片,難道Android項目中放置圖片的位置已經(jīng)改了?
對于剛剛從Eclipse轉(zhuǎn)向Android Studio的開發(fā)者們可能會對mipmap文件夾感到陌生,其實不用擔(dān)心,我們平時的編程習(xí)慣并不需要發(fā)生任何改變,因為mipmap文件夾只是用來放置應(yīng)用程序的icon的,僅此而已。那么在此之前,我們都是把應(yīng)用程序的icon圖標(biāo)和普通的圖片資源一起放到drawable文件夾下的,這樣看上去就會比較雜亂,有的時候想從一堆的圖片資源里面找icon半天也找不到,而文件一多也就容易出現(xiàn)漏放的情況,但恰恰Android是極度建議我們在每一種分辨率的文件夾下面都放一個相應(yīng)尺寸的icon的,因此將它們獨立出來專門放到mimap文件夾當(dāng)中就很好地解決了這個問題。
另外,將icon放置在mipmap文件夾還可以讓我們程序的launcher圖標(biāo)自動擁有跨設(shè)備密度展示的能力,比如說一臺屏幕密度是xxhdpi的設(shè)備可以自動加載mipmap-xxxhdpi下的icon來作為應(yīng)用程序的launcher圖標(biāo),這樣圖標(biāo)看上去就會更加細(xì)膩。
關(guān)于建議使用mipmap的原文可以參閱這篇文章:Getting Your Apps Ready for Nexus 6 and Nexus 9,當(dāng)然你還是要科學(xué)上網(wǎng)的。
除此之外,對于每種密度下的icon應(yīng)該設(shè)計成什么尺寸其實Android也是給出了最佳建議,icon的尺寸最好不要隨意設(shè)計,因為過低的分辨率會造成圖標(biāo)模糊,而過高的分辨率只會徒增APK大小。建議尺寸如下表所示:
然后我們引用mipmap的方式和之前引用drawable的方式是完全一致的,在資源中就使用@mipmap/res_id,在代碼就使用R.mipmap.res_id。比如AndroidManifest.xml中就是這樣引用ic_launcher圖標(biāo)的: