Hello,大家早上好!
中央电视台,中央电视台,这里是中央电视台!
今天春光明媚,妇女开大会,这里给大家带了新的一篇博文自定义倒计时控件加墙板,声明不是原创的 是从这位大神哪里 加强的 欢迎去看原版的 ,哈哈 !http://blog.csdn.net/harvic880925/article/details/41977569
先说明一下加强版的功能—–
1.可以设定倒计时时间如03:00,如12:00 对了我这里只提供了分,秒倒计时哦,你可以自己增加:天,时,分,秒
实现的原理就是开线程–1了!
2.加强版提供了,时间到了重置的功能
3.提供了时间到了回调函数方法的功能,利用回调可以做你时间到的时候想做的事哦!
4.提供了count计数功能,便于用来计算时间!
5.设置了时间格式!
好了下面来看代码吧!
public class TimerTextView extends TextView implements Runnable{
public TimerTextView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public long count =0;//计数
public long msecond,mmin;//
private boolean run=false; //线程run
private TimeUp ITimeUp; //回调的接口
@Override
public void run() {
if(run){
ComputeTime();
if(mmin<10){
this.setText((String.format("%02d:%02d", mmin,msecond)));
}
count++;
postDelayed(this, 1000); //延迟1秒
}else{
//线程停止运行
//把count传过去!
removeCallbacks(this);
}
}
private void ComputeTime() {
msecond--;
if(msecond<0){
mmin--;
msecond = 59;
if(mmin<0){
mmin=0;
msecond=0;
stopRun();
timeUp(count);
}
}
}
public void setTimes(long[] times){
mmin=times[0];
msecond=times[1];
}
public boolean isRun(){
return run;
}
public void beginRun(){
this.run=true;
run();
}
public void stopRun(){
this.run=false;
}
public void reStartRun(){
long[] times={3,0};
setTimes(times);
this.run=false;
}
public void setTiemUp(TimeUp ITimeUp){
this.ITimeUp=ITimeUp;
}
public void timeUp(long count2){
ITimeUp.timeUp(count2);
}
//计时时间到接口!
public interface TimeUp{
void timeUp(long count);
}
//主动点击保存:保存时间接口
public interface TimeSave{
void timeSave();
}
这篇自定义的控件很简单啊,没什么好说的啦!用法也很简单!
欢迎转载,转载请注明出处!