Обновление Animate ProgressBar в Android

Я использую ProgressBar в своем приложении, которое я обновляю в onProgressUpdate AsyncTask . Все идет нормально.

Я хочу анимировать процесс обновления, чтобы он не просто «переходил» к значению, а плавно переходил к нему.

Я попытался сделать это, запустив следующий код:

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();
                }
            }
        }

    });

Проблема в том, что индикатор выполнения не обновляет свое состояние до тех пор, пока не будет достигнуто окончательное значение (переменная прогресса). Все промежуточные состояния не отображаются на экране. Вызов progressBar.invalidate () тоже не помог.

Есть идеи? Спасибо!

52
задан André Sousa 13 November 2018 в 03:22
поделиться