2013-06-07 3 views
0

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

Я делаю игру для планшетов. Я использую AVD эмулятор Nexus 7 с 7-дюймовым экраном и разрешением 1280 x 736 пикселей. У меня есть сетка из 8 x 8 изображений. Каждое изображение имеет размер по ширине и высоте 80 пикселей. Я рисую каждое изображение с интервалом в 80 пикселей.

Когда я поместить изображения в вытяжке-ИПЧР это выглядит нормально, но если поместить их в вытяжке-MDPI, то они накладываются друг на друга, но больше.

I также имеет встроенное изображение размером 800 x 400, и когда я помещаю его в drawable-hdpi, изображение становится настолько маленьким на экране! Но когда я помещаю изображение в drawable-mdpi, тогда он выглядит нормально. Я смущен, потому что это противоположность!

С моей целью для планшетов, было бы недостаточно, чтобы изображения были только в одной папке с возможностью рисования, но какой из них правильный? Является ли точка с разными папками, чтобы иметь изображения разного размера по ширине и высоте в пикселях?

Я много читал об этом, но я не понимаю его! Может кто-нибудь кратко объяснить, как я должен обрабатывать эти папки, изображения и разрешение, чтобы лучше понять это?

ответ

0

Даже таблетки имеют разную плотность, см. Список here.

Когда вы размещаете изображение в выпадающем каталоге, вы говорите: «Это изображение подходит для устройств с такой плотностью».

Если ваше изображение находится в -hpi, а ваше устройство - -hdpi, масштабирование не произойдет.

Если ваше изображение находится в -hpi, а ваше устройство - -mdpi, Android попытается уменьшить его.

Если ваше изображение находится в -hpi, а ваше устройство - xxdpi, Android попытается его масштабировать.

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

Подробнее о масштабирующих факторах можно узнать больше here.

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

«по умолчанию» ресурсы являются те, которые не помечены с квалификатором конфигурации. Например, ресурсы в drawable/являются доступными по умолчанию ресурсами. Система предполагает, что ресурсы по умолчанию предназначены для базового размера и плотности экрана, который является обычным размером экрана и средней плотностью. Таким образом, система масштабирует ресурсы плотности по умолчанию для экранов с высокой плотностью и, соответственно, вниз для экранов с низкой плотностью.

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

+0

Я не знаю, если это ошибка в списке, на который вы указали ссылку. Для nexus 7 это говорит tvdpi, у меня нет этой папки? Но я до сих пор этого не понимаю :(Должен ли я иметь изображения одного и того же типа в mdpi, hdpi и xdpi? Те же картинки или мне нужно изменить размер или что для каждой папки? –

+0

Если вы делаете экспорт для всех папок вам определенно нужно изменить размер для каждой папки. В этом весь смысл. ОДНАКО, вам даже не нужно помещать их в каждую папку. Как описано выше, Android делает довольно хорошую работу по автоматическому масштабированию. Я бы предложил - придерживаться одной папки. Сделайте ее хорошо выглядеть на вашем устройстве, затем проверьте на другом устройстве/конфигурации/плотности. Возьмите ее оттуда. Именно так я обычно развиваюсь. –

Смежные вопросы