Come vengono file PNG definiti come oggetti disegnabili ridimensionati in base alla risoluzione del telefono cellulare Android?

StackOverflow https://stackoverflow.com/questions/3890018

Domanda

Ho un file PNG che è 32x32 pixel. Io uso 8 di questi come drawable di fila per la mia app. Questi drawable non sono nelle cartelle hdpi, MDPI o ldpi. Ho scoperto che quando si inizia una qualsiasi delle 3 emulatori di dimensioni standard, la visualizzazione dello schermo con tutte le 8 drawable sembra più o meno lo stesso.

I notare che l'emulatore ldpi sto usando (QVGA) ha una risoluzione di 240x320. 8 x 32 = 256, in modo da quando posso vedere tutte le mie drawable (e lo spazio in-between) Sto scommettendo qualcosa sta cambiando le loro dimensioni.

Ho letto le supporto di più schermi documento alla pagina sviluppatori Android , ma io continuo a non capire ciò che sta realmente accadendo. Potrebbe mettere le tue parole per spiegare cosa sta succedendo alle dimensioni dei miei drawable e come l'SDK sa di modificarli automaticamente?

È stato utile?

Soluzione

Naturalmente - il sistema ridimensiona automaticamente le immagini dalla directory drawable per corrispondere alla DPI del dispositivo se non si definisce il proprio. Quindi, in realtà la directory 'disegnabile' è praticamente la stessa della directory 'drawable-MDPI', e perché non si dispone delle versioni ldpi e hdpi definite il sistema li costruisce automaticamente dalle vostre risorse MDPI. Vedere (1) qui: http://developer.android.com/guide/ pratiche / screens_support.html # supporto - "pre-ridimensionamento delle risorse (ad esempio risorse di immagini)"

Naturalmente le icone appariranno in qualche modo ok su dispositivi ldpi ma brutto su dispositivi hdpi. Questo perché le icone MDPI vengono scalati per abbinare dimensioni superiori, in modo efficace con conseguente minor numero di informazioni per pixel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top