手机分辨率,像素,dp

屏幕分辨率是屏幕所包含的像素点

像素是图像的基本单位:点

Dp= dip

:deivce independent pixels(设备独立像素)不同的设备显示效果不同

Px: pixels(像素):不同设备显示效果相同

Pt:point是一个标准的长度单位,1pt= 1/72英寸。

Sp:scaled

pixels (放大像素)用于字体显示

在Android中默认使用sp作为字号单位???

其他的元素的单位用dp


Px和dp的转换方法

public static intdpTopx(Context context,floatdpValue){final floatscale =

context.getResources().getDisplayMetrics().density;return(int)(dpValue * scale +0.5f); }


public static intpxTodp(Context context,floatpxValue){final floatscale =

context.getResources().getDisplayMetrics().density;return(int)(pxValue / scale +0.5f); }


获取dimens文件中的数值可以用getResource().getDimension()返回值是一个float值

getResource().getDimensionPixelOffset()返回值int

如果是dp.sp会乘以屏幕密度

px则不变

getResource().getDimensionPixelSize()返回值int

不管什么单位都会乘以屏幕密度

屏幕分辨率:屏幕包含的像素点数

例如:1200×1040指垂直方向含有的像素数为1200水平方向含有的像素数为1040个

屏幕尺寸相同的情况下,分辨率越高,屏幕显示效果越精细

安卓中定义了pxdpdipsp

Px: pixel像素1px代表代表屏幕上的一个物理的像素点。

Px单位不建议使用,由于屏幕密度的不同,同样像素大小的一图片在不同的手机上显示的可能不一样。

但是画一条小苏表格线或者是阴影线的时候可以使用,清晰

Dip(dp):device independent pixel

安卓定义了四种像素密度:低(120dpi)/中(160dpi)/高(240dpi)/超高(320dpi)

对应的dp转换成px的系数为0.75/1/1.5/2也就是这个数×dp长度就是像素数

作用:例如有一个长度为80dp的图,那么它在240dpi的手机上实际显示为80 × 1.5= 120 px

在320dpi的手机上实际显示为80 × 2 = 160 px

但是如果把两个手机上的图片放在一起比较会发现物理尺寸差不多大,这是dp的作用

Sp:Scale—independent Pixel和缩放无关的抽象像素。

sp与dp的区别是正常情况下1sp= 1dp=0.00625英寸

当文字尺寸是大或者是超大时,1sp>1dp= 0.00625

作用是调整字体大小。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容