Tôi đang sử dụng ProgressBar trong ứng dụng của mình mà tôi cập nhật trong onProgressUpdate của ASyncTask. Cho đến nay rất tốt. Những gì tôi muốn làm là animate cập nhật tiến độ, do đó nó không chỉ "nhảy" vào giá trị mà chuyển động trơn tru đến nó.Cập nhật tiến trình AnimateBar trong Android
tôi đã cố gắng làm như vậy chạy đoạn mã sau:
this.runOnUiThread(new Runnable() {
@Override
public void run() {
while (progressBar.getProgress() < progress) {
progressBar.incrementProgressBy(1);
progressBar.invalidate();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
Vấn đề là ProgressBar không cập nhật trạng thái của nó cho đến khi nó hoàn thành giá trị cuối cùng của nó (tiến bộ biến). Tất cả các trạng thái ở giữa không hiển thị trên màn hình. Tiến trình gọiBar.invalidate() cũng không giúp được gì. Bất kỳ ý tưởng nào? Cảm ơn!
Làm việc giống như sô cô la. Cảm ơn .. –
Làm việc như một sự quyến rũ! - Cảm ơn bạn đã chia sẻ mã này. –
@EliKonky. Công việc tốt đẹp. Hoạt động tốt. Tôi có một câu hỏi. Tôi muốn ẩn thanh tiến trình sau khi đạt đến 100 (giá trị lớn nhất). Làm thế nào để thiết lập khả năng hiển thị của nó đi sau khi nó đạt đến tối đa? Hãy giúp tôi ra. –