Преобразование между px и dp unit
Я хочу установить layout_marginTop
до 800px используя setLayoutParams()
, Но я хочу знать, что бы это значение в dp
единица измерения?
Заранее спасибо.
1 ответ
Решение
Логическая плотность отображения приведена в DisplayMetrics
класс, и может быть получен с помощью,
getResources().getDisplayMetrics().density
Таким образом, чтобы преобразовать dp
в px
вы бы сделали,
int density = getResources().getDisplayMetrics().density;
int px = (int) (dp * density);
Преобразовать px
в dp
, просто выполните обратную операцию,
int dp = px/density;