android中px,dp,dip和sp有什么不同?有人能详细的说一下吗?
http://www.cnblogs.com/fbsk/archive/2011/10/17/2215539.html
px是像素.显示的基础都是以像素来计算的.
ppi 是屏幕密度,分辨率/屏幕尺寸就是ppi.比如480__*800就是分辨率,屏幕尺寸单位为英寸.取的值为屏幕的对角线.
dp也就是dip是google定义的无关分辨率的尺寸单位._
就我个人理解.在160ppi上一px的实际物理尺寸就是1dp.这个尺寸可以看成是同厘米,毫米一样的绝对物理尺寸.
dp的的作用可以在任何屏幕上显示近似相同的尺寸.比如同样100dp的组件在4.7寸屏上和在5.5寸屏上显示_出的尺寸大致相同.
实际在使用中,还是尽量避免使用dp.就算是为其配了多套dimens.但仍有不少奇葩的手机会乱读dimens._
楼上的弟兄们已经解答的差不多了, 在这里补充一下你可能会用到的:
应该是在5.0 之后, Google官方在Android源码中添加了 TypeValue这个类, 它是专门用来处理 px 和 dip 之间的转换工具类,可以很方便的将你需要改变的数据进行处理, 免去了要自己写的麻烦。