Как плотность пикселей соответствует размеру экрана? - PullRequest
0 голосов
/ 28 сентября 2018

Извините за создание потенциального дубликата, но я не нашел ничего, что отвечало бы на мой вопрос.Это сводится к следующему:

Какие размеры изображений я должен включать в какие папки для полноэкранных изображений для поддержки всех устройств Android?

Ответыобычно устанавливают разные разрешения в пикселях для каждого из сегментов плотности.

Например:

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px

Источник: Android: Размер фонового изображения (в пикселях), которыйПоддержка всех устройств

Подобный список на самом деле именно то, что я искал.Единственная проблема заключается в том, что для меня это не имеет смысла.

Группировка изображений по плотности кажется правильной для изображений, которые должны отображаться одинакового размера при разных плотностях (например, чтобы значок всегда имел размер1 x 1 см, независимо от плотности экрана).


Однако, когда дело доходит до полноэкранных изображений, я не хочу выбирать изображение на основе плотности пикселей дисплея, но на основе его фактическогоразмер пикселя!(Или я?)

Допустим, у меня есть 3 устройства (вымышленные значения):

  • 2 "часы с дисплеем 500 x 500px (~ hdpi)
  • 4 "телефон с дисплеем 1000 x 1000 пикселей (~ hdpi)
  • 10" планшет с дисплеем 1000 x 1000 пикселей (~ mdpi)

и изображение 1000 x 1000 пикселей, которое яЯ хочу отображать полноэкранный режим на всех устройствах.

Очевидно, что 2 "и 4" устройства имеют более высокую плотность пикселей, поэтому они получают изображение из hdpi корзины, а 10 "-device получает его из mdpi -bucket.Это означает, что устройства 2 "и 4" используют один и тот же размер изображения, в то время как устройство 10 "использует меньший.

Но моя интуиция подсказывает мне, что я должен использовать уменьшенное изображение для 2-устройство (недостаточно пикселей для отображения изображения размером 1000 x 1000 пикселей) и полное разрешение для 4-дюймовых и 10-дюймовых устройств (поскольку у обоих из них достаточно пикселей, чтобы использовать полное разрешение 1000 x 1000 пикселей).Мне кажется, что ведра плотности не подходят для этого.


Я предполагаю, что ответы там не все неправильные и что это просто мой мыслительный процесс, который ошибочен.Я просто не могу понять, в какой момент.Любая помощь приветствуется!

Ps.Меня не очень волнуют точные значения разрешения или пропорции.Некоторое обрезание / растяжение совершенно нормально.Мне просто интересно, как заставить Android выбирать изображение с наиболее подходящим разрешением, когда вы хотите отобразить его на весь экран.Мне кажется, что ведра плотности не являются правильным подходом.

1 Ответ

0 голосов
/ 28 сентября 2018

Какие размеры изображений я должен включать в какие папки для полноэкранных изображений для поддержки всех устройств Android?

По сути, на ваш вопрос нет ответа.

В общем, плотность пикселей и размер экрана могут быть коррелированы, но между ними нет формальных отношений .Ничто не мешает некоторому производителю оборудования сделать крошечное устройство с невероятно высокой плотностью пикселей или огромное устройство с низкой плотностью пикселей.

Кроме того, существует множество примеров различных устройств с одинаковой плотностью пикселей, но с совершенно разными размерами экрана.,

Наконец, возникает вопрос о соотношении сторон: у вас может быть два устройства с одинаковой плотностью пикселей и одинаковым количеством горизонтальных пикселей ... но они могут легко иметь два разных числа вертикальных пикселей.

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

...