最近用到屏幕的分辨率,按照网上的方法(千篇一律),获取到的分辨率都不含状态栏。
经过半个上午纠缠,发现Android本身提供了获取屏幕实际分辨率的方法(API level >= 17):
于是,获取屏幕实际分辨率的方法是:
比如:
屏幕实际分辨率:1280 x 800
获取到不含状态栏的就是:1280 x 764
而且,如果状态栏在底部,状态栏的高度也无法获取到。
经过半个上午纠缠,发现Android本身提供了获取屏幕实际分辨率的方法(API level >= 17):
/**
* Gets display metrics based on the real size of this display.
*/
sdk/sources/android-23/android/view/Display.java
public void getRealMetrics(DisplayMetrics outMetrics)
于是,获取屏幕实际分辨率的方法是:
DisplayMetrics metrics =new DisplayMetrics
/**
* getRealMetrics - 屏幕的原始尺寸,即包含状态栏。
* version >= 4.2.2
*/();
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;