您可以从DisplayMetrics struct 中获取有关显示的信息:
DisplayMetrics metrics = getResources().getDisplayMetrics();
虽然Android不使用直接像素映射,但它使用了少量量化的密度无关像素值,然后zoom 到实际屏幕大小.所以metrics.densityDpi
属性将是DENSITY_xxx
个常数(120
、160
、213
、240
、320
、480
或640
dpi)之一.
如果您需要actual个LCD像素密度(可能用于OpenGL应用程序),您可以分别从水平和垂直密度的metrics.xdpi
和metrics.ydpi
属性中获得.
如果目标API级别早于4.metrics.density
属性是参考密度(160dpi)的浮点比例因子.现在由metrics.densityDpi
提供的相同的值可以被计算出来
int densityDpi = (int)(metrics.density * 160f);