Nexus 5 не использует значение размера h592dp. Зачем?

Я измеряю, что Nexus 5 использует высоту 592dp. Несмотря на то, что он имеет 640dp, часть из них используется как софт-кнопка.

Итак, у меня есть макет, значение ресурса которого я определил во всех 3 измерениях ниже с разными значениями.

res/values/dimens.xml 
res/values-h592dp/dimens.xml 
res/values-h640dp/dimens.xml 

Я ожидаю, что это забрать один из values-h592dp, Тем не менее, он принимает по умолчанию value папка вместо. Почему это так? Я что-то пропустил?

1 ответ

Решение

Видимо, не как ширина, мы не можем установить точную высоту в соответствии с указанием устройства (например, 592dp для Nexus 5 или 640dp для Samsung 7). Высота, которую нужно установить, равна вычисленной высоте - высоте строки состояния.

use h509dp for Samsung SII that has height 533.33dp - 24dp (status bar)
use h567dp for Nexus 5 that has 592dp height - 25dp (status bar) 
use h616dp for Samsung S7 that has 640dp height - 24dp (status bar)
use h615dp for Samsung Note II that has 640dp height - 25dp (status bar)

Для Samsung S7 и Note II они могли бы разделить h615dp. Обратитесь к https://medium.com/@elye.project/an-important-note-when-managing-different-screen-height-3140e26e381a для получения дополнительной иллюстрации этого.

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