获取手机屏幕的宽和高

进行Android开发时,为了对设备进行更好地适配和布局,经常需要获取手机屏幕的宽和高。

一种常用的方法是:

DisplayMetrics dm = new DisplayMetrics();
dm = cx.getApplicationContext().getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;

但是,用这种方法获取到的屏幕大小在某些设备上是不准确的。因此,可以采用下面这个函数获取屏幕的宽和高。

    public static DisplayMetrics getAppWidthAndHeight(Context context) {
// 这个可以用于1.5
DisplayMetrics dm = new DisplayMetrics();
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(dm);
return dm;
}

通过以下代码进行调用即可:

DisplayMetrics dm = getAppWidthAndHeight(this);
int devicehigh = dm.heightPixels;
int devicewidth = dm.widthPixels;

 另外,如果同一台设备在不同的程序中用同一种方法获取屏幕的大小,得出来的结果却不一样,那么,最大的可能就是程序的最小SDK版本号不同。一般情况下,minSdkVersion="4".


原文地址:https://www.cnblogs.com/pinky878/p/2228565.html