2016-08-31 2 views
0
public int dpToPx(int dp, Context context) { 
    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); 
    int px = Math.round(dp * (displayMetrics.xdpi/DisplayMetrics.DENSITY_DEFAULT));  
    return px; 
} 

взят из hereточного преобразования дп РХ в андроиде программно

public int dpToPx(float dp, Context context) { 
    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); 
    int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, displayMetrics); 
    return px; 
} 

взят из here

Каковы различия между этими двумя?

+1

Я отредактировал фрагменты, чтобы быть более похожими, так что любое сравнение проще. Я также удалил мнение, основанное на вопросе «какой из них лучше» –

ответ

1

разница в значении округления и усечении.

Округление 4.6 приведет к 5
Усечение 4.6 приведет к 4.

Это действительно не относится к Android, и в основном это алгебра, а не вопрос программирования.

Смежные вопросы