Android中如何获取设备的宽高

在Android 4.0 之前可以通过下面的方式获取屏幕的宽高:

    DisplayMetrics dm = new DisplayMetrics();

    getWindowManager().getDefaultDisplay().getMetrics(dm);

    int mScreenW = dm.widthPixels;    //得到宽度

    int mScreenH = dm.heightPixels;  //得到高度

通过上面的方法在4.0之前,获得的是屏幕的总宽和总高,包括状态栏的高度和导航栏的高度,例如一个480 * 800的设备,通过上面的方法获取的值是480和800,但在4.0后上面的方法获取的高度就是除去导航栏高度外余下的高度值,例如如果导航栏的高度是48的话,在4.0后通过上面的方法获取的 mScreenH 的值是等于 480 - 48 = 432.


所以,如果想要在4.0后获取屏幕的总高度的话,需要采用下面的方法:

        Display display = getWindowManager().getDefaultDisplay();
    Point point = new Point();
    display.getRealSize(point);
    int mScreenH = point.y;

        int mScreenW = point.x;

这样获取的宽高才是480和800.

备注:我们是做的车机,所以尺寸是横屏的尺寸。

Guess you like

Origin blog.csdn.net/Vincent20111024/article/details/27231469