Страницы

Поиск по вопросам

воскресенье, 12 января 2020 г.

Как раскидать картинки по папкам mdpi, hdpi, xhdpi, ldpi?

#java #android #android_sdk #dpi


Объясните мне, пожалуйста, принцип того, как раскидать картинки по папкам mdpi, hdpi,
xhdpi, ldpi. Вот у меня есть картинка размером 800x1280, как мне узнать, какой у нее
dpi, чтобы  от него уже делать выводы, куда кидать... Я знаю, что ldpi = 0.75, mdpi
= 1.0, hdpi = 1.5, xhdpi = 2.0.

Я просто хочу делать программы под разные экраны, но как делать, не знаю.
    


Ответы

Ответ 1



dpi - зависит от разрешения экрана в пикселах и его физического размера в дюймах. Как узнать? Есть экран девайса 800 на 1280, (800Х800)+(1280Х1280) извлекаем корень = 1509,4. Теперь магия. Если экран 4,7", то 1509,4/4,7 = 321 DPI ~ xhdpi (2.0), если хотим вашу картинку на весь экран на этом девайсе, то кладём её в xhdpi - это будет как бы базовый девайс. Для дугих девайсов кладём в mdpi картинку (400 на 640), в hdpi картинку (600 на 960) и так далее. Обновление Это на 100% работает в идеальном мире. ) Уж очень разные экраны бывают. "Но ведь не может быть в mdpi базовым 800 на 1280" на экране в 9,4", будет. Можете пересчитать. ) Можно прикинуть примерно и посмотреть на эмуляторе или в редакторе xml, как это будет выглядеть на разных девайсах. Вы можете закинуть эту картинку, не изменяя во все папки и тоже посмотреть, что будет. Android растянет или сожмёт. НО память будет не оптимально расходоваться. Не кидайте все картинки только в mdpi, на девайсах с высоким DPI некоторые (особенно большие) после принудительного увеличения могут очень много памяти съедать.

Ответ 2



Оригинальную картинку надо масштабировать и ложить так: ldpi=36*36 mdpi=48*48 hdpi=72*27 xhdpi=96*96 xxhdpi=144*144 xxxhdpi=192*192 А аппарат сам выберет какую из них показывать, не думай обо всяких dpi, ось сама о них позаботится Update Про картинки. Берете картинку в лучшем разрешении и объявляете ее xxxhdpi, далее по нисходящей масштабируете на *dpi сохраняя коэффициент сжатия аналогичный иконкам приведенным выше.

Ответ 3



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

Комментариев нет:

Отправить комментарий