Мне нужен был код, похожий на то, что сделал @sidhanshu_udawat.Это была отличная база для начала.Большая победа, потому что она работает на своей собственной нити.Спасибо за этот пример.
Однако, когда я взял этот код и попробовал его, была проблема, что он будет увеличиваться, а затем останавливаться.
Я изменил код (вставленный ниже) и теперьесли вы отправите на панель поиска код, подобный следующему, вы увидите, что панель поиска анимирует вверх и вниз по шкале.
isRunning - Контроль из вашей активности
Кроме того,Мне нужно было остановить анимацию, когда кто-то нажал кнопку, поэтому я добавил логическое значение isRunning в качестве члена моей активности.Теперь, когда они нажимают кнопку, я устанавливаю для isRunnig значение false, и SeekBar останавливается.
Настройте свой SeekBar следующим образом, а затем вызовите метод:
animSeekBar.incrementProgressBy(1);
animSeekBar.setMax(100);
animateSeek(animSeekBar,100);
private void animateSeek(final SeekBar mSeek, final int toVal) {
new Thread(new Runnable() {
@Override
public void run() {
boolean isIncrementing = true;
int mProgress = 0;
isRunning = true;
while (isRunning) {
if (isIncrementing){
mProgress++;
}
else{
mProgress--;
}
mSeek.setProgress(mProgress);
if (mProgress >= toVal) {
isIncrementing = false;
} else if (mProgress <= 0) {
isIncrementing = true;
}
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}