При разработке приложения для Android используется масштаб dpi (от mdpi до xxxhdpi, как представлено на material.io); но на https://material.io/devices/ есть список многих устройств на базе Android, для которых физическая плотность px/in сильно отличается.

Почему 6 «констант» представляют все разнообразие плотностей экрана на разных устройствах?

3
Alvaro 26 Дек 2016 в 02:52

1 ответ

В списке устройств справа вы можете отсортировать список по соотношению пикселей.

 - 4:    1 device  <- xxxhdpi
 - 3.5:  3 devices
 - 3:    9 devices <- xxhdpi
 - 2.6:  2 devices
 - 2:   28 devices <- xhdpi
 - 1.5: 10 devices <- hdpi
 - 1.3:  4 devices
 - 1:   10 devices <- mdpi

Таким образом, они выбирают те, которые имеют большее количество устройств, которые имеют разницу с предыдущими 0,5 или 1. Мы могли бы возразить, что вместо 4 они могли бы выбрать 3,5 для xxxhdpi, но я думаю, что теперь будет выпущено больше устройств. на с 4.

Так например:

  • Nexus 7 ('13) имеет соотношение пикселей 2 и физический экран 1200x1920 пикселей. Таким образом, эффективный экран составляет 600x1920dp (поскольку каждые два пикселя будут действовать как один).

  • Surface Book имеет соотношение пикселей 2 и физический экран 3000x2000px. Таким образом, эффективный экран составляет 1500x1000dp (поскольку каждые два пикселя будут действовать как один).

1
Alvaro 25 Дек 2016 в 14:52
Отлично поставлен. Кроме того, похоже, что Google не сопротивляется введению новых категорий перегиба плотности, поскольку все больше устройств переходят в определенную группу плотности. Например, по мере того, как в группе 1.3 x mdpi стало появляться больше устройств, Google представила tvdpi, чтобы удовлетворить те же потребности (хотя эта категория обычно обслуживает приложения Smart TV).
 – 
ikartik90
13 Янв 2017 в 10:55