用Timer
//倒计时
private void setTimer() {
timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
//在主线程中
runOnUiThread(new TimerTask() {
@Override
public void run() {
tv_timer.setText("gg");
time--;
//格式化时间 00:00
int m = time / 60;
int s = (time % 60);
DecimalFormat df = new DecimalFormat("00");//格式化小数
String a = df.format(s);
tv_timer.setText("0" + m + ":" + a);
if (time == 0) {
timer.cancel();
tv_timer.setTextColor(Color.RED);
tv_timer.setText(getString(R.string.out_time));
}
}
});
}
};
timer.schedule(timerTask, 1000, 1000);
}
跑秒的:
import android.graphics.Color;
import android.os.CountDownTimer;
import android.widget.Button;
/**
* Created by FancyMenG on 2017/12/11.
*/
public class TimeCountUtil extends CountDownTimer {
private Button mButton;
public TimeCountUtil(Button button, long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
this.mButton = button;
}
@Override
public void onTick(long millisUntilFinished) {
// 按钮不可用
mButton.setEnabled(false);
String showText = millisUntilFinished / 1000 +"s";
mButton.setBackgroundResource(R.drawable.icon_msg_2);
mButton.setTextColor(Color.parseColor("#666666"));
mButton.setText(showText);
}
@Override
public void onFinish() {
// 按钮设置可用
mButton.setEnabled(true);
mButton.setBackgroundResource(R.drawable.msg_register);
mButton.setTextColor(Color.parseColor("#ffffff"));
mButton.setText("重新获取");
}
}