转载:安卓开发:效果图中标注的像素尺寸如何转换为安卓的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,使用该比例之后发现和效果图基本一致,完美。

 

 

 
 

posted on 2018-08-30 17:27  天道酬勤、  阅读(150)  评论(0编辑  收藏  举报

导航