1. 程式人生 > >根據手機螢幕的密度獲取drawable對應目錄下的圖片

根據手機螢幕的密度獲取drawable對應目錄下的圖片

轉自:https://blog.csdn.net/guolin_blog/article/details/50727753

根據如下方式獲取到螢幕的dpi值:

float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;

其中xdpi代表螢幕寬度的dpi值,ydpi代表螢幕高度的dpi值,通常這兩個值都是近乎相等或者極其接近的,在我的手機上這兩個值都約等於403。那麼403又代表著什麼意思呢?我們直接參考下面這個表格就知道了:

這裡寫圖片描述

從表中可以看出,403dpi是處於320dpi到480dpi之間的,因此屬於xxhdpi的範圍,所以我的手機會從drawable-xxhdpi目錄下尋找圖片資源。

如果drawable-xxhdpi資料夾下沒有這張圖時, 系統就會自動去其它資料夾下找這張圖了,優先會去更高密度的資料夾下找這張圖片,我們當前的場景就是drawable-xxxhdpi資料夾,然後發現這裡也沒有android_logo這張圖,接下來會嘗試再找更高密度的資料夾,發現沒有更高密度的了,這個時候會去drawable-nodpi資料夾找這張圖,發現也沒有,那麼就會去更低密度的資料夾下面找,依次是drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。