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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值