android 屏幕密度、分辨率问题

一、分辨率
需要注意的原来经常使用的getHeight()与getWidth()已经不推荐使用了,建议使用getSize()/getRealSiz()来替代。(推荐使用getRealSize())
使用方法:

    Point point = new Point();  
    getWindowManager().getDefaultDisplay().getSize(point);  
    Log.d(TAG,"the screen size is "+point.toString());  
    getWindowManager().getDefaultDisplay().getRealSize(point);  
    Log.d(TAG,"the screen real size is "+point.toString());

二、屏幕尺寸
所谓屏幕尺寸指的是屏幕对角线的长度,单位是英寸。
然而不同的屏幕尺寸是可以采用相同的分辨率的,而它们之间的区别在与密度(density)不同
三、屏幕密度(DPI)
屏幕密度与DPI这个概念紧密相连,DPI全拼是dots-per-inch,即每英寸的点数。也就是说,密度越大,每英寸内容纳的点数就越多。
四、DIP
注意不要与上面的DPI混淆,这个DIP是Density Independent Pixel,直译为密度无关的像素。
我们在布局文件中使用的dp/dip就是它。官方推荐使用dp是因为它会根据你设备的密度算出对应的像素。
公式为:pixel = dip*density
ps:

android 屏幕密度、分辨率问题_第1张图片
图片.png

你可能感兴趣的:(android 屏幕密度、分辨率问题)