Как 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)


Разбира се - системата автоматично преоразмерява вашите изображения от директорията с възможност за рисуване, за да съответства на 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