2013-06-27 50 views
5

Tôi muốn tạo một ứng dụng Battery, thông báo phần trăm pin cho người dùng dưới dạng hình ảnh. Bây giờ cho tỷ lệ phần trăm pin 0-100, tôi cần 101 hình ảnh trong tất cả. Những gì tôi muốn làm là có thể chèn tất cả các hình ảnh trong một mảng và sử dụng chúng cho phù hợp. Ví dụ, nếu tỷ lệ phần trăm pin của tôi là 47%, hình ảnh trong mảng tại vị trí 47 phải là tài nguyên. Đó là, giả sử tôi có ImageView tên Pin, và tôi có một mảng tên batteryimage (chứa tất cả 101 hình ảnh) sau đó tôi sẽ có thể làm được điều này,Làm thế nào để có được một mảng hình ảnh?

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

nơi p sẽ là tỷ lệ phần trăm hiện tại của pin, mà tôi sẽ nhận được theo mã.

Hy vọng tất cả các bạn hiểu những gì tôi muốn .. Thanx trước ..

+3

100 hình ảnh? có thật không? tất nhiên là tùy thuộc vào bạn, nhưng tốt hơn hết là nên suy nghĩ về việc tái sử dụng một hình ảnh để hiển thị tiến trình. –

+0

tôi chỉ nghĩ rằng, che phủ hình ảnh trong suốt và chỉ sử dụng 0 - 100% giới hạn của một trong những hình ảnh, bạn sẽ tốt hơn hết trí nhớ nhiều ưu hơn khuyết điểm – JRowan

Trả lời

14

định nghĩa một mảng của id hình ảnh như thế này

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

bây giờ cho thành viên sử dụng điều kiện khác nhau của mảng này như

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

hoặc bạn có thể sử dụng ENUM để làm cho nó dễ đọc hơn ..

Nhưng .. Tôi nghĩ bạn nên suy nghĩ theo cách khác. thay vì sử dụng 100 hình ảnh khác nhau, hãy tạo thanh tiến trình tùy chỉnh để hiển thị trạng thái pin khác nhau của bạn.

Để biết những điều cơ bản của thanh Progress thấy doc here và tạo tùy chỉnh ProgressBar bạn có thể kiểm tra điều này so question

+1

Có và đáng lưu ý là bạn không thể thực sự làm được theo cách khác. Chỉ bằng cách viết id của tất cả hình ảnh theo cách thủ công. –

Các vấn đề liên quan