Android基础知识px、dp、sp的理解

发布时间:2020-08-01 04:09:26 作者:自若
来源:网络 阅读:1437

      px就是pixels(像素),各种手机的像素是不同的,1px就是表示手机屏幕上的一个物理像素点。一块屏幕的分辨率为240*320,那么就是屏幕宽有240个像素点,屏幕高有320个像素点。如果屏幕大小不变,分辨率提高,那么相应的宽高的像素点变多了,这样画面看起来就更清晰,更细腻。

       dp就是dip,device independent pixels(设备独立像素)的缩写,以前经常使用dip,后来为了统一风格建议使用dp形式。dp做为单位的显示效果是跟屏幕的像素密度dpi(dots per inch)有关的,像素密度就是每一英寸有多少个像素点,例如1.5*2英寸屏幕,240*320分辨率的,那么240/1.5=160dpi就是横向像素密度,320/2=160dpi就是纵向像素密度。

       由上可以看出来px和dp是不相同的,px为单位时在不同屏幕上显示的物理大小可能不同,而pd为单位时在不同屏幕上显示的物理大小基本相同,看以下分析就知道px和dp的区别了。


(其中,实际长度 = 屏幕长度 / 该方向总像素px * 设置的像素值)

       比如:100*100px图片在1.5*2英寸屏幕,240*320分辨率显示效果物理大小为

                    宽为:  1.5/240*100 = 0.625 英寸

                    高为:  2/320*100 = 0.625 英寸

                    图片实际大小就是 0.625*0.625 英寸


                 100*100px图片在1.5*2英寸屏幕,480*800分辨率显示效果物理大小为

                    宽为:  1.5/480*100 = 0.3125 英寸

                    高为:  2/800*100 = 0.3125 英寸

                    图片实际大小就是 0.3125*0.3125 英寸


(其中以160pdi作为标准,即160pdi时,1px = 1pd;

                         像素密度pdi = 一个方向总像素px / 屏幕该方向长度;

                                 像素px = 像素密度pdi  / 160 * 设置的独立像素pd)

       比如:100*100pd图片在1.5*2英寸屏幕,240*320分辨率显示效果物理大小为

                    宽为:  240/1.5 = 160pdi

                             160/160*100 = 100px

                             1.5/240*100 = 0.625 英寸

                    高为:  320/2 = 160 pdi

                             160/160*100 = 100px

                             2/320*100 = 0.625 英寸

                    图片实际大小就是 0.625*0.625 英寸


               100*100pd图片在1.5*2英寸屏幕,480*800分辨率显示效果物理大小为
                    宽为:  480/1.5 = 320 pdi

                             320/160*100 = 200px

                             1.5/480*200 = 0.625 英寸

                    高为:  800/2 = 400 pdi

                             400/160*100 = 250px

                             2/800*250 = 0.625 英寸

                    图片实际大小就是 0.625*0.625 英寸

       其中就可以看px作为单位的效果,同样的一张图,放在同样大小屏幕的手机上,因为分辨率不同,而看起来大小却不同,这是不是很不符合我们的需要呢?为了解决这个问题我们引入使用了pd作为单位。从上也可以看出pd作为单位的效果,同样的一张图,放在同样大小屏幕的手机上,虽然屏幕分辨率不同,但是显示的实际大小却一样,符合我们的设计要求。

        sp是字体大小的单位,原理跟dp的相似。


px、dp、sp、dip、dpi名词解释参考以下

http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html

推荐阅读:
  1. android中像素单位dp、px、pt、sp的比较
  2. px、dp和sp,这些单位有什么区别?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sp dpi android

上一篇:idea输出中文显示? 处理办法

下一篇:类的默认成员函数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》