Как файлы PNG, определяемые как объекты для рисования, изменяются в зависимости от разрешения телефона Android?

У меня есть файл PNG размером 32x32 пикселя. Я использую 8 из них в качестве рисунков подряд для своего приложения. Эти чертежи не находятся в папках hdpi, mdpi или ldpi. Я обнаружил, что при запуске любого из 3 эмуляторов стандартного размера вид экрана со всеми 8 рисунками выглядит практически одинаково.

Отмечу, что используемый мной эмулятор ldpi (QVGA) имеет разрешение 240x320. 8 x 32 = 256, поэтому, поскольку я вижу все свои рисунки (и пространство между ними), могу поспорить, что что-то меняет их размер.

Я прочитал документ Поддержка нескольких экранов на странице разработчиков Android, но я до сих пор не понимаю, что происходит на самом деле. Не могли бы вы объяснить своими словами, что происходит с размером моих рисунков и как SDK знает, как их автоматически изменять?


person user432209    schedule 08.10.2010    source источник


Ответы (1)


Конечно, система автоматически изменяет размеры ваших изображений из каталога drawable, чтобы они соответствовали DPI устройства, если вы не определили свой собственный. Таким образом, на самом деле каталог «drawable» почти такой же, как каталог «drawable-mdpi», и поскольку у вас нет определенных версий ldpi и hdpi, система автоматически создает их из ваших ресурсов mdpi. См. (1.) здесь: http://developer.android.com/guide/practices/screens_support.html#support — "Предварительное масштабирование ресурсов (например, изображений)"

Конечно, ваши значки будут выглядеть нормально на устройствах ldpi, но некрасиво на устройствах hdpi. Это связано с тем, что значки mdpi масштабируются для соответствия более высоким размерам, что фактически приводит к меньшему количеству информации на пиксель.

person mreichelt    schedule 08.10.2010
comment
Аккуратный. Спасибо. Разумно ли создавать значки вокруг hdpi и, таким образом, уменьшать их масштаб для всех других плотностей? - person user432209; 08.10.2010
comment
Лично я бы создавал значки для hdpi и mdpi и позволял системе автоматически уменьшать значки, но создавал версии ldpi наиболее важных из них, например. значок запуска. Или простой вариант: наймите дизайнера, и пусть он сделает всю работу за вас. ;-) - person mreichelt; 08.10.2010
comment
Ха, ты правильно понял. Игра с изображениями, чтобы получить что-то хорошее, была такой пустой тратой моего времени, тем более что я понятия не имею, что делаю. - person user432209; 08.10.2010