Объясните мне, пожалуйста, принцип того, как раскидать картинки по папкам mdpi, hdpi, xhdpi, ldpi. Вот у меня есть картинка размером 800x1280, как мне узнать, какой у нее dpi, чтобы от него уже делать выводы, куда кидать... Я знаю, что ldpi = 0.75, mdpi = 1.0, hdpi = 1.5, xhdpi = 2.0
Я просто хочу делать программы под разные экраны, но как делать, не знаю.
Ответ
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 некоторые (особенно большие) после принудительного увеличения могут очень много памяти съедать.
Комментариев нет:
Отправить комментарий