2013-06-27 3 views
5

Я хочу сделать приложение батареи, которое должно уведомить пользователя о проценте батареи в виде изображения. Теперь, когда процент батареи 0-100, мне нужно всего 101 изображение. Что я хочу сделать, так это то, что можно вставить все эти изображения в массив и использовать их соответственно. Например, если мой процент батареи составляет 47%, то в массиве в позиции 47 должен быть ресурс. То есть, предположим, что у меня есть ImageView с именем Батарея, и у меня есть массив с именем batteryimage (содержащий все 101 изображений) то я должен быть в состоянии сделать это,Как получить массив изображений?

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

где р будет будь то текущий процент батареи, который я получу по коду.

Надеется, что вы все поняли, что я хочу .. Thanx заранее ..

+3

100 изображений? действительно? конечно, это зависит от вас, но было бы гораздо лучше подумать о повторном использовании одного изображения для отображения прогресса. –

+0

Я просто думал, что накладываю прозрачные изображения и просто использую 0 - 100% границы одного из изображений, вы будете лучше из памяти, мудрый больше профи, чем минус – JRowan

ответ

14

определить массив ID изображения, как этого

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

теперь для различного использования элемента условия этого массива, как

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

или вы можете использовать ENUM, чтобы сделать его более удобным для чтения ..

Но .. Я думаю, вы должны думать по-другому. вместо использования 100 различных изображений создайте пользовательскую панель прогресса, чтобы показать другое состояние вашей батареи.

Знать основы бар Прогресс см док here и создавать пользовательские Progressbar вы можете проверить это so question

+1

Да и стоит отметить, что вы не можете это сделать другим способом. Только путем ручного ввода идентификаторов всех изображений. –