安卓倒计时秒

说到了CountDownTimer这个类,从名字上面大家就可以看出来,记录下载时间。将后台线程的创建和Handler队列封装成一个方便的类调用。查看了一下官方文档,这个类及其简单,只有四个方法,上面都涉及到了onTick,onFinsh、cancel和start。其中前面两个是抽象方法,所以要重写一下。

package custom.community.com.generic_deom;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends Activity {
    TextView time;
    CountDownTimer mTimer;
    Button start;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        time = (TextView) findViewById(R.id.time111);
        start = (Button) findViewById(R.id.start111);
        start.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // mTimer.start();
                MyCount mc = new MyCount(30000, 1000);
                mc.start();
            }
        });
    }

    class MyCount extends CountDownTimer
    {

        public MyCount(long millisInFuture, long countDownInterval)
        {
            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onFinish()
        {
            time.setText("finish");
        }

        @Override
        public void onTick(long millisUntilFinished)
        {
            time.setText(millisUntilFinished / 1000+"");
        }
    }


}



布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" tools:context="custom.community.com.generic_deom.MainActivity">
    <TextView  android:id="@+id/time111" android:layout_width="wrap_content" android:layout_height="wrap_content" />

    <Button  android:id="@+id/start111" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始计时" />

</LinearLayout>
主要是重写onTick和onFinsh这两个方法,onFinish()中的代码是计时器结束的时候要做的事情;onTick(Long m)中的代码是你倒计时开始时要做的事情,参数m是直到完成的时间,构造方法MyCount()中的两个参数中,前者是倒计的时间数,后者是倒计时onTick事件响应的间隔时间,都是以毫秒为单位。例如要倒计时30秒,每秒中间间隔时间是1秒,两个参数可以这样MyCount(30000,1000)。 将后台线程的创建和Handler队列封装成为了一个方便的类调用。

当你想取消的时候使用mc.cancel()方法就行了。
安卓倒计时秒_第1张图片

你可能感兴趣的:(android)