转载:安卓开发:效果图中标注的像素尺寸如何转换为安卓的dp尺寸?
原博文地址:https://www.cnblogs.com/strinkbug/p/5780910.html
一开始参考的的这篇文章:关于Android开发中px、dip、dp、sp等单位的概念和转换关系(http://blog.csdn.net/watt520/article/details/9667079)
然后得到下面这两个公式:
public static int dip2px(Context mContext, float dp) {
float scale = mContext.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
public static int px2dip(Context mContext, float px) {
float scale = mContext.getResources().getDisplayMetrics().density;
return (int) (px / scale + 0.5f);
}
对于dp和sp都用一样的公式,算出来的像素与dp之间的比例2.625,修改界面尺寸之后发现整体比效果出大了不少,有10%以上的差距。
后来找到了如下这张不同分辨率下的px与dp转换关系对照表,那么我们的1920x1080分辨率对应的比例就是3,使用该比例之后发现和效果图基本一致,完美。