1. 程式人生 > >Android Studio下drawable圖示和mipmap圖示詳解

Android Studio下drawable圖示和mipmap圖示詳解

建立drawable圖示

新建一個Android Studio專案,並將任務檢視切換到“Project”下,這時可以看到,系統在res目錄下,為我們建立了4個對應的drawable資料夾,如下圖所示。
drawable資料夾
如果沒有,請讀者自行建立(另外還有ldpi的xxxhdpi這兩個不常用到的類別,因此,我在這裡省略了它們)。

每一個對應的drawable目錄下,都應該相應地有一張相同的圖片,只是解析度不一樣。這些圖片檔案都是按照目錄名對應的dpi進行定製的。

應用中所有圖片資源都會隨應用安裝到裝置裡,Android作業系統知道如何為不同的裝置提供最佳匹配。注意,在為不同的裝置準備適配圖片的同時,應用安裝包需要的容量也隨之增大。當然,對於一些小專案,這些問題不是很明顯。

如果應用不包含裝置對應螢幕的畫素密度檔案,在執行時,Android系統會自動找到可用的圖片資源,針對該裝置進行適配。有了這個特性,就不必準備各種螢幕畫素密度檔案了。因此,為控制應用寶的大小,我們可以只為主流裝置準備解析度較高的定製圖片資源。至於那些不常見的低解析度裝置,讓Android系統自動適配就好。

使用mipmap影象

資源修飾符和drawable用起來都很方便。應用要用到影象,就針對不同的裝置尺寸準備不同尺寸的圖片,在分別放入drawable-mdpi之類的資料夾。然後,按名字引用它們。剩下的就交給Android了,它會根據當前裝置的螢幕密度呼叫相應的圖片。

但是,有個問題不得不提。釋出到應用商店的APK檔案包含了專案drawable目錄裡的所有圖片,哪怕是從來不會用到的圖片。這是一個負擔。

但是問題解決的不夠徹底。假如想保留各個螢幕畫素密度的啟動圖示呢?

Android啟動器會顯示大尺寸應用圖示。想讓大圖示清晰好看,啟動器就需要使用更高解析度的圖示。對於hdpi裝置,要顯示大圖示,啟動器就會使用xhdpi圖示。

找不到的話,就只能使用低解析度的圖示。可想而知,方法拉伸後的圖示肯定很糟。
Android終極解決之道就是使用mipmap目錄。可參考上圖。

APK分包時,mipmap資源會全部包含在APK檔案中。
要一勞永逸,推薦的做法就是,把應用啟動器圖示放在mipmap目錄中,其他圖片都放在drawable目錄中。