AndroidStudio项目制作倒计时模块的方法
前言
大家好,我是Vic,今天给大家带来AndroidStudio项目制作倒计时模块的概述,希望你们喜欢
项目难度
AndroidStudio项目制作倒计时模块的难度,不是很大,就是主要用了Timer和TimerTask这两个,接着就是现实界面的一些基础效果。
设计界面
做个倒计时的界面就比较好想了,就如下界面控件
- 填写倒计时时间
- 获取倒计时时间
- 显示倒计时
- 开始计时
- 停止计时
就在自动创建的activity_main.xml中写入代码:
实现功能需求
接下来我们需要在MainActivity.java中现实功能模块需求,主要来显示界面和获取按钮功能效果,代码如下:
packagecn.edu.gdmec.android.counttime; importandroid.os.Handler; importandroid.os.Message; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; importandroid.widget.EditText; importandroid.widget.TextView; importjava.util.Timer; importjava.util.TimerTask; publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{ privateEditTextinputet; privateButtonget,startTime,stopTime; privateTextViewtime; privateinti=0; privateTimertimer=null; privateTimerTasktask=null; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } privatevoidinitView(){ inputet=findViewById(R.id.input); get=findViewById(R.id.get); startTime=findViewById(R.id.starttime); stopTime=findViewById(R.id.stoptime); time=findViewById(R.id.time); getTime.setOnClickListener(this); startTime.setOnClickListener(this); stopTime.setOnClickListener(this); } @Override publicvoidonClick(Viewv){ switch(v.getId()){ caseR.id.get: time.setText(inputet.getText().toString()); i=Integer.parseInt(inputet.getText().toString()); break; caseR.id.starttime: startTime(); break; caseR.id.stoptime: stopTime(); break; default: break; } } privateHandlermHandler=newHandler(){ publicvoidhandleMessage(Messagemsg){ time.setText(msg.arg1+""); startTime(); }; }; publicvoidstartTime(){ timer=newTimer(); task=newTimerTask(){ @Override publicvoidrun(){ if(i>0){//加入判断不能小于0 i--; Messagemessage=mHandler.obtainMessage(); message.arg1=i; mHandler.sendMessage(message); } } }; timer.schedule(task,1000); } publicvoidstopTime(){ timer.cancel(); } }
心得重点
//获取的按钮实现: time.setText(inputet.getText().toString()); i=Integer.parseInt(inputet.getText().toString()); //Handler的加入 privateHandlermHandler=newHandler(){ publicvoidhandleMessage(Messagemsg){ time.setText(msg.arg1+""); startTime(); }; }; //倒计时主要核心 publicvoidstartTime(){ timer=newTimer(); task=newTimerTask(){ @Override publicvoidrun(){ if(i>0){//加入判断不能小于0 i--; Messagemessage=mHandler.obtainMessage(); message.arg1=i; mHandler.sendMessage(message); } } }; timer.schedule(task,1000); }
总结
本文讲了AndroidStudio项目制作倒计时模块,如果您还有更好地理解,欢迎沟通
定位:分享Android&Java知识点,有兴趣可以继续关注,也希望大家多多支持毛票票。