android 获取屏幕的分辨率
在开发手机的应用程序时,除了底层对API的掌握之外,屏幕分辨率的概念也是相当的重要的。
DisplayMetrics 类:
Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。
DisplayMetrics类包含了显示信息,大小,维度,字体等;
DisplayMetrics对象里的widthPixel及heightPixels字段为整数类型
getWindowManager().getDefaultDisplay().getMetrics(metrics);
注:构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity的Handle,此时,getDefaultDisplay()方法将取得的宽高维度存放于DisplayMetrics对象中,而取得的宽高维度是以像素为单位(Pixel),“像素”所指的是“绝对像素”而非“相对像素”。
- dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
- px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
- pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
- sp: scaled pixels(放大像素). 主要用于字体显示best for textsize,根据 google 的建议,TextView 的字号最好使用 sp 做单位