android实现倒计时功能(开始、暂停、0秒结束)
本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下
【思路】:通过timer执行周期延时的任务,handler中将计时信息更新,并在计时结束时结束timer的周期任务。
-在布局文件中添加一个TextView和Button控件,并在onCreate方法中获得到TextView和Button的id;
xml布局代码:
java代码
packagecom.example.wlf.gamerecorder.gameon; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; importandroid.widget.TextView; importandroid.os.Handler; importcom.example.wlf.gamerecorder.R; importjava.util.Date; importjava.util.Timer; importjava.util.TimerTask; publicclassSimpleGameonActivityextendsAppCompatActivity{ privatefinalstaticintCOUNT=1; privatefinalstaticintTOTAL_TIME_24=24; privateTextViewtextViewTime24; Timertimer; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_gameon); textViewTime24=(TextView)findViewById(R.id.textViewTime24);//24秒倒计时 finalButtonbutton_start_timer=(Button)findViewById(R.id.button_start_timer); button_start_timer.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ Stringstr=button_start_timer.getText().toString();//获取按钮字符串 if(str.equals("开始")){//切换按钮文字 button_start_timer.setText("暂停"); initView(); } else{ button_start_timer.setText("开始"); timer.cancel();//终止线程 } } }); } publicvoidinitView(){ //countDown=(TextView)findViewById(R.id.textViewTime24); timer=newTimer(); /** *每一秒发送一次消息给handler更新UI *schedule(TimerTasktask,longdelay,longperiod) */ timer.schedule(newTimerTask(){ @Override publicvoidrun(){ handler.sendEmptyMessage(COUNT); } },0,1000); } privateHandlerhandler=newHandler(){ intnum=TOTAL_TIME_24; publicvoidhandleMessage(android.os.Messagemsg){ switch(msg.what){ caseCOUNT: textViewTime24.setText(String.valueOf(num)); if(num==0) timer.cancel();//0秒结束 num--; break; default: break; } }; }; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。