需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
public static String getDisplayMetrics(Context cx) {
String str = "";
DisplayMetrics dm = new DisplayMetrics();
dm = cx.getApplicationContext().getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
float density = dm.density;
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
int dpi = dm.densityDpi;
int width = (int) (screenWidth/density);
int height = (int) (screenHeight/density);
str += "The absolute width:" + String.valueOf(screenWidth) + "pixels\n";
str += "The absolute heightin:" + String.valueOf(screenHeight)
+ "pixels\n";
str += "The logical density of the display.:" + String.valueOf(density)
+ "\n";
str += "X dimension :" + String.valueOf(xdpi) + "pixels per inch\n";
str += "Y dimension :" + String.valueOf(ydpi) + "pixels per inch\n";
str += "The densityDpi of the display.:" + String.valueOf(dpi)
+ "\n";
str += "The width:" + String.valueOf(width) + "dp\n";
str += "The height:" + String.valueOf(height) + "dp\n";
return str;
}
屏幕尺寸:
1、分辨率:屏幕分辨率,确定手机屏幕上显示多少信息的设置,以水平和垂直像素来衡量。
750*1334px 水平为750像素,垂直为1334像素
2、屏幕尺寸:屏幕大小的物理尺寸,以屏幕对角线长度衡量
单位:英寸 1英寸 = 2.54厘米
3、像素密度(PPI):表示的是每英寸所拥有的像素(Pixel)数目
PPI值越高,画面的细节就越丰富
4、逻辑像素与物理像素:
物理像素是硬件所支持的,逻辑像素是软件可以达到的。
5、dp、sp、dpi
dp: android开发中用于描述模块间布局大小的单位
sp: 和dp一样,只是用于描述字体大小的单位
dpi: 测量空间点密度的单位,单位英寸上点的个数
px: 像素
6、DisplayMetrics创建的对象获取 屏幕的分辨率
附加一张Android屏幕尺寸关系(慕课网截图):