|
|||
Определение размеровОпределение размеров
В этом занятии мы уделим внимание разделению экранов. Давайте немного разберемся с терминологией. Размер экрана – это физический размер экрана, измеряется диагональ. ● маленькие – small, ● обычные – normal, ● большие – large, ● очень большие extra-large.
Плотность экрана – количество пикселей на определенной площади экрана, обычно определяется как количество точек на дюйм (dpi – dots per inch). ● ldpi (low) ~120dpi ● mdpi (medium) ~160dpi ● hdpi (high) ~240dpi ● xhdpi (extra-high) ~320dpi ● xxhdpi (extra-extra-high) ~480dpi ● xxxhdpi (extra-extra-extra-high) ~640dpi
Для наглядности, можно рассмотреть следующую схему из документации:
Для того чтобы интерфейс был более-менее идентичен на различных экранах, были придуманы так называемые пиксели, не зависящие от плотности, или dp (дипы). И наоборот, чтобы из dp получить пиксели, нужно воспользоваться формулой Было бы неправильно, сказав о дипах, не упомянуть о других единицах измерения. px – пиксели, в них чаще всего указывается разрешение экрана (например. 1920х1080). Элементы интерфейса нежелательно указывать в пикселях, но разумеется, они будут выглядеть по разному, могут иметь различный размер на разных экранах. С другой стороны, именно в пикселях возвращают значения методы getWidth() и getHeight(), поэтому полностью избежать работы с пикселями проблематично. in – inch, дюйм – примерно 2,54 см, именно в них указываются размеры диагонали экрана. Тоже не рекомендуется использовать, студия подсказывает, что точность не гарантируется на всех устройствах. mm – миллиметр – 0,1 см, тоже не рекомендуется по причине точности. pt – point, точка – 1/72 дюйма, опять же физическое расстояние.
Но крайне рекомендуется использовать именно dp, чтобы ваша верстка выглядела более менее одинаково на всех экранах.
Документация https://developer.android.com/guide/practices/screens_support.html
|
|||
|