减慢进度条进度
问题描述:
我在此处使用此代码来循环和更新自定义进度栏上的进度。减慢进度条进度
class MyThreadRunner implements Runnable {
// @Override
int count = 0;
public void run() {
try {
while (count < 90) {
Thread.sleep(10);
count += 1;
progressBar.setProgress(count);
progressBar.setText(count + "%");
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
当它靠近末端时我希望它开始减慢,这是可能的,而不必再做一个while循环吗?
答
为什么不改变超过90的值的睡眠时间?
class MyThreadRunner implements Runnable {
// @Override
int count = 0;
public void run() {
try {
while (count < 100) {
//500 is half a second...
int sleepTime = count < 90 ? 10 : 500;
Thread.sleep(sleepTime);
count += 1;
progressBar.setProgress(count);
progressBar.setText(count + "%");
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
答
class MyThreadRunner implements Runnable {
// @Override
int count = 0;
int sleepTime = 0;
public void run() {
while (count < 100) {
sleepTime = count < 90 ? 10 : 100;
Thread.sleep(sleeptime);
}
};