Что такое плотность экрана

«Что такое плотность экрана» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плотность экрана (density) — это количество пикселей на физическую единицу площади (обычно dpi — dots per inch). В Android используется понятие логической плотности (density-independent pixel, dp), чтобы UI выглядел одинаково на устройствах с разной плотностью экрана.

Основные плотности в Android:

  • ldpi (~120dpi)
  • mdpi (~160dpi) — базовая плотность (1dp = 1px)
  • hdpi (~240dpi)
  • xhdpi (~320dpi)
  • xxhdpi (~480dpi)
  • xxxhdpi (~640dpi)

Пример конвертации dp в px:

val dp = 16f
val px = dp * resources.displayMetrics.density

Важно: всегда используйте dp для размеров и sp для текста, чтобы обеспечить корректное отображение на разных устройствах.