android 自定义倒计时控件加墙板!

来源:互联网 发布:mac查看php安装目录 编辑:程序博客网 时间:2024/05/29 18:19

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();    }

这篇自定义的控件很简单啊,没什么好说的啦!用法也很简单!
欢迎转载,转载请注明出处!

0 0