美文网首页让前端飞Android技术知识程序员
學渣系列~android 頓悟 sp px dip dp

學渣系列~android 頓悟 sp px dip dp

作者: 品味与回味 | 来源:发表于2017-12-15 10:01 被阅读79次

    先說这件事情的起因。 最近在看动画,吧视图动画和属性动画看好了。然后看那些做的比较好的动画效果。这时候发现 在xml中给的64dp 在代码中计算的值是192。 当时觉得很诧异,没有往换算方面去想。然后 我就琢磨 琢磨。 换了一台手机 是1280的 也就是所谓的2倍图的手机。 得到的值128. 这下 我突然想到了很多。 下面就来看一下 我当时想到的

    美工设计图ps 都是像素 也就是所谓的px。 我们手机上面的分辨率也就是每行每列有多少的像素点。 手机1080 *1980 就是 水平1080 竖直1980个。 这也导致了 如果美工用一倍图的话 我们手机做好的页面 看上去的很小,很不合规范。前提你用的单位是px(现在基本上没有那么用的。)

    接下来一个概念就是

    dpi 像素密度。单位英寸上像素的个数。

    dpi=(行的像素数量平方+列的像素数量平方)开根号/屏幕对角线长度


    image.png

    手机根据像素密度 去寻找对象的几倍图,
    1倍图 对应的 120 160
    2倍图 对应的320 480
    3倍图 对应的 480 640

    px = dp*dpi/160

    这个有看不懂的?
    这么说吧dpi/160 就是代表的几倍图。 当我们xml中给的dp值是64 那他的px 就是 64*3

    分辨率低的 比如是二倍的 那就是*2.
    这下知道 192的来历了吧。

    随口说说。 为什么单位dp时候 。基本上不会出现问题 因为 那就是一个可变的值。 不同px的时候dp也不一样。 当你用dp的时候 换算的时候 手机就会自动去适配。 因此 大部分的时候 用的都是dp

    相关文章

      网友评论

        本文标题:學渣系列~android 頓悟 sp px dip dp

        本文链接:https://www.haomeiwen.com/subject/otsrwxtx.html