Как реализовать бесконечное прибавление и отнимание ProgressBar?
Нужно сделать, чтобы бесконечно значение прогресс бара увеличивалось до максимума (50), а потом снижалось до минимума (0). После каждого инкремента значения бара нужно ждать несколько миллисекунд, чтобы значение прогресс-бара плавно увеличивалось и уменьшалось. Как это возможно реализовать?
Можно через AsyncTask. В нем запускаешь бесконечный цикл, выставляешь нужную задержку и меняешь прогресс как хочешь. Главное, вовремя его остановить, что бы не было утечки памяти из-за того, что сборщик мусора не может утилизировать твой прогресс бар. Это как вариант. Но мне кажется, эффективнее было бы сделать это через анимации
Анимации анимациями, но во время прибавления и отнимания нужно будет взаимодействовать со значением бара. Грубо говоря нужно, чтобы значение инта увеличивалась с 1 до 50 и опять снималось до одного. Как сделать постепенное увеличение понятно, но как после этого опустить значение? Уже задумываюсь о том, чтобы просто 50 раз прибавлять переменную с задержкой, и 50 раз отнимать. Но выглядеть 200 строк кода будут не очень.
Hakito: и все же не работает, на телефоне при запуске скомпилленного APK сразу же вылетает, в виртуальной машине пишет следующее: "The application may be doing too much work on its main thread."