Преобразование между 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;
Другие вопросы по тегам