在之前的公司,我们的UI设计并不知道如何给android做标注,这让我很开心。因为他给iOS做的标注是以px为单位的,如果也给我px这个单位,那我还得再转换一次,很麻烦的,于是猴子本着麻烦自己不如麻烦别人的原则让他给我按照dp进行标注。但是他用的软件标注出来的尺寸大大丰富了我的想象力(不堪入目),更要命的是,他用一个不标准(非主流分辨率)的手机去验看效果。我的天。。。还是整理一下吧。
px转dp公式 (
int
) (pxValue / scale +
0
.5f)
dp转px公式 (
int
) (dipValue * scale +
0
.5f)
这里面唯一的参数就是
scale
,这个参数是有手机屏幕分辨率为一决定的,在代码中可以用scale = context.getResources().getDisplayMetrics().density;
得到。计算规则是 屏幕斜向分辨率(根据横向分辨率与纵向分辨率用勾股定理计算得出)/屏幕尺寸。
在这里记录一下代码,方便以后自用
import android.content.Context; /** *