sp dp px之间的区别

来源:互联网 发布:java string length 编辑:程序博客网 时间:2024/06/06 16:55

          首先我们需要知道像素的概念:像素是组成图像的基本元素,实际上就是一个点。我们知道线是由无数个点组成的,而面由无数个线组成。说到这里,大家应该大致明白了像素的概念了。

         分辨率:根据百度百科,我们了解到分辨率分为两种。一个是显示分辨率,一个是图像分辨率。显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所显示的像素有多少,显示分辨率越高,图像也就越精细。图像分辨率是指单位英寸所包含的像素数。

        现在我们来 px、dp、sp之间的区别

        1、px就是像素,即就是屏幕上的一个点。显然px单位是有它的弊端的,我们可以设想一下一个宽100px的图像,在不同分辨率上的显示的大小不同的。


        2、dp(与密度无关的像素)比较难理解,但是在Android中,只要记住dp是一个长度单位,一切就容易理解了。

              首先我们需要知道像素密度的概念,假设有一部手机,屏幕的物理尺寸是1.5*2.0英寸,分辨率为240*320,则我们可以计算出横向上每英寸的像素数(240/1.5=160,单位为dpi),同理纵向上每英寸的像素数(320/2=160dpi),这就是像素密度的意思,单位为dpi。现在,我们来看一下px、dip、dp之间的关系:


        px = dp*(dpi/160);(这个为什么是这样,我想应该是规定吧)


          从中我们也可以看到:dp的单位实际上是英寸。所以我们在不同设备上,不同分辨率,只要单位为dp,实际最终显示效果的大小是会一样的。

 

     3、sp一般用来显示字体的大小,与dp很类似。唯一区别是:我们可以自定义文字尺寸大小(小、正常,大、超大),当设置正常的时候,1dp=1sp。

          


0 0