zoukankan      html  css  js  c++  java
  • Android视觉规范-间距规范与文字规范单位换算(dip、sp与px)

    http://blog.csdn.net/shimiso/article/details/29826073

    1、dip与px

    Android工程师在写页面时,margin值的单位是dip,而视觉设计师通常情况下是通过px来控制margin值的,不同单位之间的差别是什么呢?看下面的参数。

    在WVGA(800x480)下dip与px之间的视觉测算结果: 

    1dip=2px

    9dip=14px

    17dip=26px

    2dip=3px

    10dip=15px

    18dip=27px

    3dip=5px

    11dip=17px

    19dip=29px

    4dip=6px

    12dip=18px

    20dip=30px

    5dip=8px

    13dip=20px

    21dip=31px

    6dip=9px

    14dip=21px

    7dip=11px

    15dip=23px

    8dip=12px

    16dip=24px

    根据上述数值可以得出一个在WVGA下dip与px的换算公式(2N代表任意偶数,2N-1代表小与偶数1的奇数):

     dip与px之间的换算公式:

    a. 2N + 2N/2 = PX

    b.(2N-1)+ 2N/2 = PX

    注:偶数值dip 的1.5倍等于相对应的px值,偶数值的间距与奇数元素设置居中对齐的时候会有1px的误差,仔细看可能会不是很美观(如下图)。

     

    A与B居中对齐时有一个值的差,C与D可以完美居中对齐。

    但是这种情况发生的几率还是非常小的,只有在细扣页面的时候常见到,遇到时应急处理一下也可以解决问题,但是如果在一开始设计时就注意了的话,后面细扣也不会出现问题的,也就省去了应急处理的时间,在一定程度上可以提高效率。

    在HVGA(320x480)下dip与px之间的视觉测算结果:

    1dip=1px

    9dip=9px

    17dip=17px

    2dip=2px

    10dip=10px

    18dip=18px

    3dip=3px

    11dip=11px

    19dip=19px

    4dip=4px

    12dip=12px

    20dip=20px

    5dip=5px

    13dip=13px

    21dip=21px

    6dip=6px

    14dip=14px

    7dip=7px

    15dip=15px

    8dip=8px

    16dip=16px

    根据上述参数得出的结果是dip值等于px值。

    由上述得出,视觉设计师在WVGA(480x800)模式下设计,建议最佳间距是:12px、18px、24px、30px、36px、42px、48px,由于dip、px值在HVGAWVGA 对应的都是偶数,各个元素能做到最严格的对齐。

    二、sp与px

    在WVGA(800x480)下sp与px之间的视觉测算结果:

    7sp=11px

    15sp=23px

    23sp=35px

    8sp=12px

    16sp=24px

    24sp=36px

    9sp=14px

    17sp=26px

    25sp=38px

    10sp=15px

    18sp=27px

    26sp=39px

    11sp=17px

    19sp=29px

    27sp=41px

    12sp=18px

    20sp=30px

    28sp=42px

    13sp=20px

    21sp=31px

    29sp=44px

    14sp=21px

    22sp=33px

    30sp=45px

    根据上述参数得出的结果:

    sp与px之间的换算公式与dip与px的换算公式相同:

    a. 2N + 2N/2 = PX

    b.(2N-1)+ 2N/2 = PX

    在HVGA(320x480)下sp与px之间的换算结果:

    7sp=7px

    15sp=15px

    23sp=23px

    8sp=8px

    16sp=16px

    24sp=24px

    9sp=9px

    17sp=17px

    25sp=25px

    10sp=10px

    18sp=18px

    26sp=26px

    11sp=11px

    19sp=19px

    27sp=27px

    12sp=12px

    20sp=20px

    28sp=28px

    13sp=13px

    21sp=21px

    29sp=29px

    14sp=14px

    22sp=22px

    30sp=30px

    根据上述参数得出的结果是sp值等于px值。

    由上述得出,视觉设计师在WVGA(480x800)模式下设计,建议常用最佳字号是:18px、24px、30px、36px、42px,在一些需要严格对齐的位置,这几个参数的文字是不会出问题的,当然其他的字号也是可以用的,毕竟应用中不是所有的文字都需要严格的对齐。

    知识普及:

    sp、dip,Android默认单位,可根据不同的屏幕大小自适应,同样的字号,不同的屏幕尺寸下显示的视觉效果大小不同。

    Px属于固定像素值,不会主动自适应屏幕大小,不同的屏幕尺寸下显示的视觉效果大小效果相同。

  • 相关阅读:
    阿里取消周报
    摇滚明星原则
    t
    B树、B+树索引算法原理(下)
    订单业务楼层化 view管理器和model管理器进行了model和view的全面封装处理 三端不得不在每个业务入口上线时约定好降级开关,于是代码中充满了各种各样的降级开关字段
    单元测试
    项目管理图 有任务分解、技术风险 风险预案
    CPU飙高,系统性能问题如何排查?

    如何让淘宝不卡顿? 读写比例 动态扩容 分布式化路线 mysql 优化
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/4795695.html
Copyright © 2011-2022 走看看