Когда размер имеет значение

#mobile_native #android #kotlin

Начинающий Android-разработчик рано или поздно сталкивается с задачей определения основных параметров экрана — ширины и высоты. С появлением Apple-подобной «брови» в верхней части дисплея Android-устройств задача стала неочевидной.

Stack Overflow показывает несколько ответов, предполагающих использование двух нативных методов getSize и getMetrics.

У Honor 10 Lite заявленная высота экрана составляет 2340 px, но нативные методы возвращают 2139 px.

Рассмотрим пример вычисления фактического размера экрана Android-устройства.

В методе DisplaySizeGetter.getSize определяется версия используемого SDK и устанавливается опорный тип SdkType. Для каждого типа SdkType определен свой метод getSize с реализацией алгоритма получения размеров в зависимости от версии SDK.

Сделано в Лаборатории Студии Чулакова

Студия Олега Чулакова

Дизайн-студия № 1 в России по версии Tagline, лучший usability / UX в стране по версии Золотого Сайта.

Специализируется на создании сложных систем и сервисов для крупных компаний. Среди клиентов Студии Tele2, ИКЕА, МегаФон, БКС Банк, Yota и другие крупнейшие российские бренды.