Ответ
Плотность экрана (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 для текста, чтобы обеспечить корректное отображение на разных устройствах.