Questo codiceRecupera hidensity disegnabile dalla confezione (nido d'ape)
final ApplicationInfo ai = getPackageManager().getApplicationInfo("com.company.hello", 0);
final Drawable d = getPackageManager().getApplicationIcon(ai);
prelevare un 48x48 (MDPI) drawable anche sul mio hidensity HoneyComb dispositivo.
Premesso che posso allargare drawable da Bitmap.createScaledBitmap, mi sto chiedendo come estrarre l'icona densità di hi che è già lì. Il metodo getDrawableForDensity non è disponibile per sdk < 15, ma non sono felice di richiamare una funzione di ridimensionamento per ogni icona che devo disegnare quando è disponibile nel pacchetto gratuitamente.
Modifica per taglie
dimenticando per un po 'il mio dispositivo densità di visualizzazione della domanda è la seguente: dato un proprio pacchetto per il quale sappiamo per certo di avere l'icona di 72x72 nella cartella relativa hdpi res, come estrarre questa icona da un altro pacchetto?
THIS FUNCTION non è disponibile su ambiente Honeycomb.
Che cosa stai usando il drawable per una volta che lo hai? Mi sembra che tu possa usare il 'R.drawable.id' dell'immagine per ottenerlo, che prenderà automaticamente quello corretto per qualsiasi schermo di dimensioni che stai usando al momento. – FoamyGuy
Forse stai confondendo le dimensioni con la densità (sono diverse). Non dovresti ridimensionare le tue risorse PNG (questo è l'unico scopo dell'utilizzo di diversi drawable di risoluzione). – Booger
hi FoamGuy Ho già provato a estrarre l'icona da un ID specifico ma il risultato è lo stesso: 48x48 disegnabile. Booger: Non sto confondendo nulla: dato un pacchetto, voglio il disegnabile 72x72 che conosco. La densità dello schermo è HI_DENSITY e la soluzione potrebbe essere getDrawableForDensity ma non è disponibile. – lorenzoff