Преобразование dp в px и px в dp. Концептуальное непонимание

Меня немного смущает преобразование dp в px и px в dp. Формула идет следующим образом

px = dp*(dpi/160)

Рассмотрим два экрана A и B плотностью 160 и 320 точек на дюйм соответственно. Это само по себе означает, что в одной и той же области B имеет большее количество пикселей, чем A, что означает, что размер пикселя экрана с разрешением 160 точек на дюйм должен быть больше для того же размера экрана и должен быть равен физическому размеру 2 пикселей экрана с разрешением 320 точек на дюйм. Но если подставить формулу для B, то получится, что 1 пиксель для B эквивалентен физическому размеру 2 пикселей, независимых от плотности, или 2 пикселей экрана с разрешением 160 точек на дюйм. Что мне здесь не хватает?

1 dp на A = 1 * (160/160) = 1px. 1dp на B = 1 * (320/160) = 2px. Таким образом, каждый dp на экране A займет 1 пиксель, а 1 dp на экране B займет 2 пикселя. Хотя оба они будут иметь одинаковый размер в миллиметрах на обоих экранах

Vladyslav Matviienko 06.06.2018 11:19

Возможный дубликат Преобразование пикселей в dp

Venki WAR 06.06.2018 11:20

Проверьте мой ответ ниже :)

Nicola Gallazzi 07.06.2018 10:50
0
3
62
1

Ответы 1

Попытайтесь понять систему масштабирования на этом примере. Представьте, что у вас есть растровое изображение, которое вы хотите отобразить на каждом экране большим размером 48dp x 48dp (независимо от плотности). У нас есть:

  • mDPI, экран 160dpi (соотношение 1x) -> растровое изображение: 48x48 пикселей (старые устройства)
  • hDPI, экран 240 точек на дюйм (соотношение В 1,5 раза) -> растровое изображение: 72x72 пикселей (48 x 1,5)
  • xhDPI, экран 320 точек на дюйм (соотношение 2x) -> растровое изображение: 96x96 пикселей (48 x 2)
  • xxhDPI, экран 480dpi (соотношение 3x) -> растровое изображение: 144x144 пикселей (48 x 3)
  • xxxhDPI, экран 640dpi (соотношение 4x) -> растровое изображение: 192x192 пикселей (48 x 4)

Вкратце, чтобы ответить на ваш вопрос, у вас есть разное количество пиксели для разной плотности, но такое же количество дпс.

Другие вопросы по теме