本文实例为大家分享了androID实现倒计时功能的具体代码,供大家参考,具体内容如下
【思路】:通过 timer 执行周期延时的任务,handler 中将计时信息更新,并在计时结束时结束 timer 的周期任务。
- 在布局文件中添加一个TextVIEw和button控件,并在onCreate方法中获得到TextVIEw和button的ID;
xml布局代码:
<button androID:ID="@+ID/button_start_timer" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_weight="1" androID:layout_gravity="center_vertical" androID:gravity="center" androID:text="开始" androID:textSize="12sp" /><TextVIEw androID:ID="@+ID/textVIEwTime24" androID:layout_wIDth="0dp" androID:layout_height="wrap_content" androID:layout_gravity="center_vertical" androID:layout_weight="2" androID:gravity="center" androID:text="24" androID:textcolor="#33ff00" androID:textSize="60sp" />
java代码
package com.example.wlf.gamerecorder.gameon;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.TextVIEw;import androID.os.Handler;import com.example.wlf.gamerecorder.R;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class SimpleGameonActivity extends AppCompatActivity { private final static int COUNT = 1; private final static int TOTAL_TIME_24 = 24; private TextVIEw textVIEwTime24; Timer timer; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_simple_gameon); textVIEwTime24=(TextVIEw)findVIEwByID(R.ID.textVIEwTime24);//24秒倒计时 final button button_start_timer = (button)findVIEwByID(R.ID.button_start_timer); button_start_timer.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { String str = button_start_timer.getText().toString();//获取按钮字符串 if(str.equals("开始")){ //切换按钮文字 button_start_timer.setText("暂停"); initVIEw(); } else{ button_start_timer.setText("开始"); timer.cancel();//终止线程 } } }); } public voID initVIEw(){ //countDown = (TextVIEw) findVIEwByID(R.ID.textVIEwTime24); timer = new Timer(); /** * 每一秒发送一次消息给handler更新UI * schedule(TimerTask task,long delay,long period) */ timer.schedule(new TimerTask() { @OverrIDe public voID run() { handler.sendEmptyMessage(COUNT); } },1000); } private Handler handler = new Handler(){ int num = TOTAL_TIME_24; public voID handleMessage(androID.os.Message msg) { switch (msg.what) { case COUNT: textVIEwTime24.setText(String.valueOf(num)); if(num == 0) timer.cancel();//0秒结束 num--; break; default: break; } }; };}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
总结以上是内存溢出为你收集整理的android实现倒计时功能(开始、暂停、0秒结束)全部内容,希望文章能够帮你解决android实现倒计时功能(开始、暂停、0秒结束)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)