// 获取屏幕密度(在Context环境下,比如在Activity中执行这些代码或者传入Context对象去获得DisplayMetrics)
DisplayMetrics dm = getResources().getDisplayMetrics();
// getWindowManager().getDefaultDisplay().getMetrics(dm);
float density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0,3.0,4等)
int densityDPI = dm.densityDpi; // 屏幕密度(这里是系统密度)(每寸像素:120/160/240/320,480,640等)
// 这两个是水平和垂直方向上的dpi,如果要计算水平和垂直方向上的实际dp值,可以通过后面`屏幕的宽高差异`中的内容计算。不过你倒是可以通过这两个值大致计算屏幕的宽和高的英寸
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
Log.e(TAG, " DisplayMetrics: " + "xdpi=" + xdpi + "; ydpi=" + ydpi);
Log.e(TAG, " DisplayMetrics: " + "density=" + density + "; densityDPI=" + densityDPI);
screenWidth = dm.widthPixels; // 屏幕像素宽(像素,如:480px)
screenHeight = dm.heightPixels; // 屏幕像素高(像素,如:800px)
Log.e(TAG, " DisplayMetrics" + "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
一、分辨率
/**
* 获取屏幕分辨率
*/
private void getDisplayInfomation() {
Point point &