Ресурсы Android — какие разрешения должны находиться в каталогах hdpi, ldpi, mdpi и xhdpi.

Я пытаюсь написать приложение, которое будет хорошо работать на всех размерах экрана, для этого мой графический дизайнер создает изображения с требуемым разрешением для каждого каталога (низкая плотность (120), ldpi, средняя плотность (160). mdpi, высокая плотность (240), hdpi, сверхвысокая плотность (320), xhdpi), однако они хотят знать, с каким разрешением и соотношением сторон должно быть каждое изображение, после просмотра документации по Android, а именно: 1)http:/ /developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources 2)http://developer.android.com/guide/practices/screens_support.html Я нашел следующую информацию: Это не что Android поддерживает 3 размера экрана, Android — это ОС, которая может работать практически на любом размере экрана, но есть некоторые размеры экрана, которые встречаются чаще, чем другие, они показаны в таблице ниже (взято из http://developer.android.com/guide/practices/screens_support.html)

Таблица 1. Размеры экрана и плотность скинов эмулятора, включенных в Android SDK. Низкая плотность (120), ldpi Средняя плотность (160), mdpi Высокая плотность (240), hdpi Сверхвысокая плотность (320), xhdpi Маленький экран QVGA (240x320)
Обычный экран WQVGA400 (240x400) WQVGA432 (240x432) HVGA ( 320x480) WVGA800 (480x800) WVGA854 (480x854)
Большой экран WVGA800* (480x800) WVGA854* (480x854)
Очень большой экран

Здесь стоит отметить, что даже несмотря на то, что кажется, что между этими размерами экрана нет корреляции, существует коэффициент масштабирования 3:4:6 между тремя плотностями, поэтому растровое изображение 9x9 в ldpi равно 12x12 в mdpi и 18x18 в hdpi (см. http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources).

Мы можем увидеть дополнительную информацию о том, что означают размеры экрана здесь:

Размер экрана • маленький: экраны основаны на пространстве, доступном на экране QVGA с низкой плотностью. Что касается портретного дисплея HVGA, он имеет такую ​​же доступную ширину, но меньшую высоту — соотношение сторон 3:4 по сравнению с соотношением сторон 2:3 у HVGA. Примерами являются QVGA низкой плотности и VGA высокой плотности. • нормальный: Экраны на основе традиционного экрана HVGA средней плотности. Экран считается нормальным, если он не меньше этого размера (независимо от плотности). Примеры таких экранов: WQVGA низкой плотности, HVGA средней плотности, WVGA высокой плотности. • большой: экраны основаны на пространстве, доступном на экране VGA средней плотности. Такой экран имеет значительно больше доступного пространства как по ширине, так и по высоте, чем дисплей HVGA. Примерами являются экраны средней плотности VGA и WVGA. • xlarge: экраны, которые значительно больше, чем традиционный экран HVGA средней плотности. В большинстве случаев устройства с очень большими экранами будут слишком большими, чтобы носить их в кармане, и, скорее всего, это будут устройства в стиле планшетов. Добавлено в API уровня 9.

Мы также можем поддерживать определенные соотношения сторон, как определено здесь:

Формат экрана • long: длинные экраны, такие как WQVGA, WVGA, FWVGA • notlong: короткие экраны, такие как QVGA, HVGA и VGA

-- Всего этого, однако, недостаточно, чтобы ответить на простой вопрос о том, какое разрешение должно быть на этих изображениях – можно ли их все вырезать из одного и того же изображения с высоким разрешением или их следует переделывать для каждого dpi, поскольку соотношение сторон это отличается? пожалуйста, помогите, это задерживает мой проект Спасибо!


person ekatz    schedule 12.03.2011    source источник


Ответы (2)


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

Для фоновых изображений это всегда сложно. Поскольку вы не можете рассчитывать на конкретное разрешение, вы можете либо оценить и выбрать одно, немного меньше среднего, и превратить его в 9-патч, где края будут растягиваться, чтобы покрыть оставшееся пространство, или вы можете пойти с один немного больше среднего (примерно 900 x 500) и просто убедитесь, что область края не содержит никакой соответствующей информации. По сути, думайте об этом как об обрезе для печати, это просто дополнительная область, которая может быть обрезана, если экран недостаточно велик. Проще просто использовать какой-то градиентный рисунок или другой независимый от разрешения тип изображения для фона, если это возможно, из-за большого количества поддерживаемых различных разрешений.

person Kevin Coppock    schedule 12.03.2011
comment
И все же, какие разрешения нужны? Скажем, для фоновых изображений для каждой категории точек на дюйм, какое разрешение и соотношение сторон следует использовать? - person ekatz; 12.03.2011

Когда я создаю графику, я рассматриваю это так: ldpi 240x320 mdpi 320x480 hdpi 480x800 xhdpi 800x1280

Размещение изображений в отдельных папках с возможностью рисования, drawable-hdpi, drawable-mdpi....

Фон немного сложен, вы можете сделать это с помощью bg или даже установить его из своей программы, а не из XML-файла макета. Это даст вам больше гибкости, чтобы выбрать, когда вы собираетесь изменить размер или обрезать его.

person Jova    schedule 16.11.2011