Насколько надежны реальные размеры в представлениях Android? - PullRequest
2 голосов
/ 07 октября 2019

Я работаю над приложением для Android с определенным требованием, чтобы элементы отображались на экране в реальных измерениях (например, «нарисовать сплошной прямоугольник 10x20 мм»).

Есть два способа, которыми мы можемвыполните следующие действия:

  1. Используйте DisplayMetrics.xdpi и DisplayMetrics.ydpi в классе View для вычисления размеров на основе точных физических пикселей на дюймscreen (например, val px = inches * context.resources.displayMetrics.xdpi).
  2. Использование реальных размеров в макете XML (например, layout_width="20mm").

Однако мы знаем, что исторически некоторыеустройства неверно сообщили свои значения xdpi / ydpi , что делает эти методы ненадежными. Использование mm в макете XML-файла отображает предупреждение в Android Studio:

Избегайте использования «мм» в качестве единиц (это не работает точно на всех устройствах): вместо этого используйте dp

У меня такой вопрос: насколько это проблема на последних устройствах Android в 2019 году?

Посту , связанному с выше , исполнилось 8 лет. ,Существует ли более актуальный набор данных для ряда современных устройств? Мы протестировали его на небольшом наборе устройств (Samsung, Google, OnePlus, Huawei, Motorola, Nokia), и он работает на всех, кроме Nexus 4 с LineageOS. Вероятно, мы можем справиться с некоторыми внешними случаями использования, которые не работают, если большинство устройств массового рынка работают должным образом.

...