Autore Topic: Path immagine dinamica  (Letto 528 volte)

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Path immagine dinamica
« il: 06 Marzo 2013, 21:52:04 CET »
0
Salve a tutti,

ho un'immagine nella mia activity. In base allo stato dell'app tale immagine dovrà cambiare... non riesco a capire come farlo da codice...

Ipotizziamo di avere nella dir res/drawable-ldpi il file test.png ed il file test2.png.

Se volessi settare l'immagine potrei fare...
logo.setImageResource(R.drawable.test);
oppure
logo.setImageResource(R.drawable.test2);

Il problema è che io vorrei farlo dinamico poichè le immagini sono differenti.

Ho letto che potrei utilizzare una soluzione di questo tipo:

Resources res = context.getResources();
String mDrawableName = "test.png";
int resID = res.getIdentifier(mDrawableName , "drawable", context.getPackageName());
Drawable drawable = res.getDrawable(resID );

ma non mi funziona

consigli?

grazie in anticipo

Luca

Post unito: 06 Marzo 2013, 21:56:47 CET
scusatemi... bastava togliere il .png

String mDrawableName = "test";
« Ultima modifica: 06 Marzo 2013, 21:56:47 CET da luca.santaniello, Reason: Merged DoublePost »

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Path immagine dinamica
« Risposta #1 il: 06 Marzo 2013, 22:00:02 CET »
0
Funziona?

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Re:Path immagine dinamica
« Risposta #2 il: 06 Marzo 2013, 22:17:54 CET »
0
Funziona?

si funge, ma devo capire come viene gestita l'immagine all'interno delle varie drawable... se l'immagine è presente solo in hdpi ad esempio? oppure solo in mdpi? è uguale? è tutto automatico?

Grazie

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Path immagine dinamica
« Risposta #3 il: 06 Marzo 2013, 22:24:45 CET »
0
Android rileva la densità dpi del display del telefono e automaticamente va a vedere nella cartella relativa. Ad esempio se la densità è 240 dpi va a vedere nella cartel hdpi e se non c'è niente va a vedere nella cartela di dafault, ovvero drawable.