2013-06-27 13 views
5

Desidero creare un'app Batteria che dovrebbe informare la percentuale di batteria dell'utente sotto forma di immagine. Ora per la percentuale di batteria 0-100, ho bisogno di 101 immagini in tutto. Quello che voglio fare è che è possibile inserire tutte queste immagini in un array e usarle di conseguenza. Ad esempio, se la mia percentuale di batteria è del 47%, l'immagine nella matrice in posizione 47 dovrebbe essere la risorsa. Cioè, supponiamo di avere ImageView chiamato batteria, e ho un matrice denominata batteryimage (contenente tutte le 101 immagini) allora dovrei essere in grado di fare questo,Come ottenere una matrice di immagini?

Battery.setBackgroundResource(R.drawable.batteryimage[p]) 

dove p volontà essere la percentuale attuale di batteria, che otterrò per codice.

Spero che tutti capito quello che voglio .. Grazie in anticipo ..

+3

100 immagini? veramente? naturalmente dipende da te, ma sarebbe molto meglio pensare di riutilizzare un'immagine per mostrare progressi. –

+0

stavo solo pensando che, sovrapponendo immagini trasparenti e usando solo i limiti 0 - 100% di una delle immagini, starai meglio dalla memoria più pro dei tuoi contro – JRowan

risposta

14

definiscono una serie di immagini id come questo

int[] p = {R.drawable.image1, R.drawable.image2....} 

ora membro diverso uso condizione di questo array come

Battery.setBackgroundResource(p[0]) // or p[1] 

oppure è possibile utilizzare ENUM per renderlo più leggibile ..

Ma .. Penso che dovresti pensare in un altro modo. invece di utilizzare 100 immagini diverse, crea una barra di avanzamento personalizzata per mostrare lo stato della batteria.

Per conoscere le basi della Barra di avanzamento vedi doc here e per creare personalizzato ProgressBar È possibile controllare questo so question

+1

Sì e vale la pena notare che non puoi davvero farlo in altro modo. Solo scrivendo manualmente tutti gli ID delle immagini. –

Problemi correlati