安卓開發:效果圖中標注的像素尺寸如何轉換為安卓的dp尺寸?


我們的UI基於1920x1080分辨率給的尺寸標注,但是在安卓開發中大家一般都使用dp、sp來標注界面尺寸,所以需要一個dp與sp的轉換公式。


一開始參考的的這篇文章:關於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,使用該比例之后發現和效果圖基本一致,完美。





—————完—————

 







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM