兩種獲取屏幕分辨率信息的方法:
DisplayMetrics metrics = new DisplayMetrics();
Display display = activity.getWindowManager().getDefaultDisplay();
display.getMetrics(metrics);
//這里得到的像素值是設備獨立像素dp
//DisplayMetrics metrics=activity.getResources().getDisplayMetrics(); 這樣獲得的參數信息不正確,不要使用這種方式。
不能使用android.content.res.Resources.getSystem().getDisplayMetrics()。這個得到的寬和高是空的。
如果需要為Android pad定制資源文件,則res目錄下的目錄可能為:
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-nodpi
drawable-nodpi-1024×600
drawable-nodpi-1280×800
drawable-nodpi-800×480
values
values-ldpi
values-mdpi
values-hdpi
values-xhdpi
values-nodpi
values-nodpi-1024×600
values-nodpi-1280×800
values-nodpi-800×480
為了簡化程序員面在對各種分辨率時的困擾,也為了具備各種分辨率的平台都可以直接運行這些程序, Android平台將所有的屏幕以密度和分辨率為分類方式,各自分成了三類:
·三種主要的尺寸:大,正常,小;
·三種不同的密度:高( hdpi),中( mdpi)和低( ldpi)。 【DPI是“dot per inch”的縮寫,每英寸像素數。】
1.drawable-(hdpi,mdpi,ldpi)的區別
dpi是“dot per inch”的縮寫,每英寸像素數。
四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情況下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
2.WVGA,HVGA,QVGA的區別
VGA是”Video Graphics Array”,顯示標准為640*480。
WVGA(Wide VGA)分辨率為480*800
HVGA(Half VGA)即VGA的一半分辨率為320*480
QVGA(Quarter VGA)即VGA非四分之一分辨率為240*320
3.drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的聯系
hdpi里面主要放高分辨率的圖片,如WVGA (480×800),FWVGA (480×854)
mdpi里面主要放中等分辨率的圖片,如HVGA (320×480)
ldpi里面主要放低分辨率的圖片,如QVGA (240×320)
系統會根據機器的分辨率來分別到這幾個文件夾里面去找對應的圖片