Android 中像素px和dp的轉化

在Android的佈局文件中,往往使用dp作爲控件的寬度和高度尺寸,但是在Java代碼中,調用getWidth()方法獲得的尺寸單位

卻是像素px,這兩個單位有明顯的區別:dp和屏幕的密度有關,而px與屏幕密度無關,所以使用時經常會涉及到兩者之間的互相

轉化,代碼示例如下

public int Dp2Px(Context context, float dp) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dp * scale + 0.5f);
}
 
public int Px2Dp(Context context, float px) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (px / scale + 0.5f);
}


------------------2012-11-02 09:58

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章