@grsm

Является ли коэффициент масштабирования dp по-умолчанию разным на разных устройствах и устанавливается ли он производителем?

Здравствуйте. Вот у нас есть множители для пересчета dp в px: ldpi (0.75x), mdpi (1x), hdpi (1.5x), xhdpi (2.0x), xxhdpi (3.0x), xxxhdpi (4.0x). Насколько я понимаю, желательно создавать разные версии растовых изображений разного разрешения для разных экранов.

Но есть вопрос. К примеру, мы делаем НЕрастовый элемент, допустим блок в приложении, размером 100dp. Будет ли этот коэффициент применяется автоматически для разных устройств и будет ли адекватно изменяться размер элемента под разные экраны так чтобы он выглядел примерно одинаковым? Вообще этот коэффициент по умолчанию задается производителями устройств или также как и для растовых изображений нужно готовить разные варианты НЕрастовых элементов?
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Да, он разный на разный устройствах, вплоть даже до такого, что он бывает, например 1.667(сталкивались на каком-то девайсе, ловили баг с "лишним" пикселом). Растровые изображения делаются разных размеров с этими коэффициентами, чтобы они были максимально близки к реальным.

Если речь идет о dimen's указанных в dp, или о векторных изображениях - конечно, да, всё автоматически применяется. Для того, чтобы в рантайме взять реальный размер в пикселах, есть специальные методы, например. Векторные изображения будут автоматически отмасштабированы, для этого в xml высота/ширина задаются в dp.
Размеры в dp в любом xml(vector/shape/layout/etc) будут автоматически отмаштабированы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы