Android Usare determinati resource a seconda di determinate API

Stato
Discussione chiusa ad ulteriori risposte.

</Singh>™

Utente Palladium
8 Marzo 2013
5,571
146
1,706
1,448
Mi serve sapere come posso gestire i resource file a seconda delle api level che mi trovo

Facciamo un semplice esempio:
Se ho in drawable, un drawable resource file per il ripple effect applicato a un button ovviamente dubito che questo ripple effect sia applicato se il dispositivo a runnarlo sia con un api lever 15(ad esempio) quindi bisogna applicare al bottone un altro resource adatto alla api del dispositivo o comunque alla api < 21
Quindi vorrei che a seconda della api level un determinato oggetto a cio faccio riferimento utilizzi determinati resource file, nell'esempio precedente vorrei che se il dispositivo abbia una build con api < 21 utilizzi un altro resource che sia supportato dalle api < 21
 
Ultima modifica:
La soluzione di caricare i layout a seconda della BUILD.VERSION.SDK_INT è quella che sto attualmente utilizzando... solo che volevo trovare un metodo più "astratto" o comunque meno terra terra come questo
e sarebbe anche dispendioso e sprecato fare un layout apposito se l'elemento che crea problemi sia 1 solo. Prendiamo come esempio il classico FAB con un ripple :\
 
Un modo semplice, mi pare, sia inserendo la versione nella directory. Per esempio tu hai la cartella res/layout/main.xml per ogni tipo di API.
Se vuoi utilizzarne una specifica crei una directory: res/layout-v21/main.xml. In questo modo Android 5.0 caricherà quel layout.
 
Un modo semplice, mi pare, sia inserendo la versione nella directory. Per esempio tu hai la cartella res/layout/main.xml per ogni tipo di API.
Se vuoi utilizzarne una specifica crei una directory: res/layout-v21/main.xml. In questo modo Android 5.0 caricherà quel layout.
Devo comunque riscrivere l'xml tutto e non solo il pezzo incompatibile....giusto?

E inoltre prende il layout lui automaticamente a seconda del api level dello user? Se è > 21 prende la più recente, cioè la 21, senno quell'altra ?
 
Devo comunque riscrivere l'xml tutto e non solo il pezzo incompatibile....giusto?

E inoltre prende il layout lui automaticamente a seconda del api level dello user? Se è > 21 prende la più recente, cioè la 21, senno quell'altra ?
Non ho trovato nulla al riguardo, forse smanettando queste cose puoi trovare il modo.

Comunque si dovrai riscrivere tutto l'XML, o meglio, copi quello di base e modifichi quello che vuoi modificare.
 
  • Mi piace
Reazioni: </Singh>™
Stato
Discussione chiusa ad ulteriori risposte.