作为小白学习了一段时间的android,在学习过程中却一直有个疑问,在设置控件大小时面对这几个单位却不知如何选择,查找相关资料后了解了其含义,今天来分享下
dp或dip(device independent pixels,设备独立像素)
在日常开发中这是最常用的一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dip=1px.但随着屏幕的密度改变,dip和px的换算也会发生改变,因此它是一种能够自动适应不同屏幕密度的单位 ,由于安卓碎片化原因。使用它作为长度单位可以适配不同的屏幕密度。
sp 比例像素(scaled pixels)
sp除了能够像dp一样可以适应屏幕密度的变化,还可以随着系统字体的大小设置改变作出变化。如果不想文字随着手机设置中字体的大小发生改变(例如标题),可以使用dp代替。
px(即像素)
1px代表屏幕上一个物理的像素点;因为各种手机的分辨率不同,因此可能会导致同样大小的px图片在不同设备上显示出不同的效果; 所以不推荐使用
pt
即 point,是一个标准的长度单位pt:表示一个点,是屏幕的物理尺寸,1pt=1/72英寸,用于印刷业,非常简单易用
in(英寸inch)
屏幕的物理尺寸,1 inch = 2.54cm
mm(毫米)
标准长度单位
后三种均为物理尺寸,在实际开发过程中不怎么使用;
经过实践结果,关于文字类的尺寸常选sp单位,非文字类尺寸常选dp单位;px是极其不推荐使用的