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

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

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

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

1 Ответ

4 голосов
/ 08 октября 2010

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

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

...