6

在我的 Android 应用程序中,我有像素(69 像素),我需要将此像素转换为倾角(密度独立像素)。

有什么建议么?

4

3 回答 3

10

只需将像素值除以 DisplayMetrics.density。

于 2012-04-10T19:11:10.910 回答
7

希望这会有所帮助

Resources r = getResources();
float dp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 69, r.getDisplayMetrics());
于 2012-04-10T18:20:49.120 回答
7

你可以试试这个:

public int convertDiptoPx(int pixel){

    float scale = getResources().getDisplayMetrics().density;
    int dips=(int) ((pixel * scale) + 0.5f);
    logMessage("Px=" +pixel+"  DipValue="+dips );   
    return dips;
}

编辑:

public int convertPxtoDip(int pixel){
    float scale = getResources().getDisplayMetrics().density;
    int dips=(int) ((pixel / scale) + 0.5f);
    return dips;
}
于 2012-04-17T06:54:33.980 回答