Nexus 5X использует некорректное ведро размеров

От спецификации Nexus 5X он имеет размер экрана 411x731 dp.

Как я понимаю, что:

Если я хочу использовать рециркуляционное представление с 2 столбцами в портретном режиме, я должен определить значение column_count в dimensions.xml

<integer name="column_count">2</integer>

Если я хочу использовать вид рециркулятора с 3 столбцами в альбомной ориентации, я должен определить значение column_count = 3 в файле w-720dp dimensions.xml. Но это не работает. В представлении Recycler есть только 2 столбца.

Но если определить значение column_count = 3 в файле w-600dp dimensions.xml, это сработает.

Я не понимаю, почему мой Nexus 5X использует значения из корзины w-600dp в альбомной ориентации, в то время как в альбомной ориентации он имеет ширину экрана 731 dp.

Благодарю вас!

1 ответ

Решение

Для mdpi устройство 1dp = 1px, и mdpi соответствует 160 жк-плотности. Nexus 5x имеет плотность ЖК-дисплея 480 (как указано в /system/build.prop), поэтому на этом устройстве 1dp = 3px (потому что 480/160 = 3). Размеры экрана составляют 1920x1080 пикселей, поэтому разделите на 3, и вы получите 640x360 dp (или 360x640 dp в альбомной ориентации). Мне кажется, устройство работает отлично.

Вообще говоря, -w720 или же -sw720 соответствует большим таблеткам, и -w600 или же -sw600 соответствует меньшим планшетам (и иногда очень большим телефонам).

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