我需要的代码就像@sidhanshu_udawat 所做的那样。这是一个很好的起点。大获全胜,因为它在自己的线程上运行。谢谢你的例子。
但是,当我使用该代码并尝试它时,会出现一个问题,即它会增加然后停止。
我更改了代码(粘贴在下面),现在如果您使用如下代码发送搜索栏,您将看到搜索栏上下动画。
isRunning - 控制您的活动
此外,当有人单击按钮时,我需要停止动画,因此我将布尔值 isRunning 添加为我的 Activity 的成员。现在,当他们单击按钮时,我将 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();
}