• 利用CountDownTimer倒计时的简单使用实现


    package com.loaderman.countdowntimerdemo;
    
    import android.os.Bundle;
    import android.os.CountDownTimer;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    
        private TextView tvTime;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tvTime = (TextView) findViewById(R.id.tv_time);
            tvTime.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new countDownTimer<TextView>(tvTime);
                }
            });
        }
        public class countDownTimer<T> extends CountDownTimer {
            private TextView mTextView;
    
            public countDownTimer(T text) {
                super(60000,1000);
                this.mTextView = ((TextView)text);
                mTextView.setClickable(false);
                start();
            }
    
            /**
             * start后开始执行的方法,按照间隔时间执行一次
             * @param millisUntilFinished
             */
            @Override
            public void onTick(long millisUntilFinished) {
                mTextView.setText(String.format("%s秒",millisUntilFinished/1000));
            }
    
            /**
             *  时间结束时调用的方法
             */
            @Override
            public void onFinish() {
                mTextView.setText("获取验证码");
                mTextView.setClickable(true);
            }
        }
    }
    
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        tools:context="com.loaderman.countdowntimerdemo.MainActivity">
        <TextView
            android:textColor="#F00"
            android:textSize="18sp"
            android:id="@+id/tv_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开始倒计时"/>
    </RelativeLayout>
    

     效果图:

  • 相关阅读:
    笔记:Oracle查询重复数据并删除,只保留一条记录
    64位系统安装ODBC驱动的方法
    批量Excel数据导入Oracle数据库
    Oracle自我补充之Decode()函数使用介绍
    解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
    Linux命令区
    Linux下安装PHP+Nginx+Msql
    Thinkphp时间转换与统计的问题
    phpStydy配置memcache扩展
    Thinkphp+Nginx(PHPstudy)下报的404错误,403错误解决
  • 原文地址:https://www.cnblogs.com/loaderman/p/6489179.html
Copyright © 2020-2023  润新知