本人目前Android小白一枚,目前正在实习,因为在项目中用到的东西过段时间后经常会忘,所以决定在记录一下,方便以后查阅。若有说的不对的地方,欢迎各位大佬指正,小弟会虚心学习。

目前公司项目中有好几个用到倒计时的功能就找方法做了一个。

先上效果图:

当点击获取验证码时按钮开始60秒倒计时,当倒计时完成后,按钮变为“重新获取验证码”。

接下来上代码:

先上Button的布局文件

          android:id="@+id/get_code"

          android:layout_width="100dp"

          android:layout_height="35dp"

          android:layout_marginRight="15dp"

          android:background="@drawable/selector_verify_code"   //这个是自定义的背景,就不详细写了

          android:padding="10dp"

          android:text="获取验证码"

          android:textColor="@color/blue"

          android:textSize="10dp"/>

Android中提供了一个CountDownTimer 的倒计的类,初始化这个类的时候会重写两个方法,一个是 onTick() ,另一个是onFinish()。第一个方法开始计时的时候调用,可以在里面动态的改变计时的数字,第二个方法在计时完成时调用,可以在里面添加计时完成后需要改变的UI。

在代码中添加倒计时:

CountDownTimer  timer =new CountDownTimer (60*1000,1000) {

        @Override

        public void onTick (long millisUntilFinished)  {

               button.setEnabled (false);

               button.setBackground(getResources().getDrawable(R.drawable.selector_code_get));

               button.setText("" + millisUntilFinished /1000);

    }

      @Override

       public void onFinish() {

              button.setEnabled(true);

              button.setBackground(getResources().getDrawable(R.drawable.selector_verify_code));

              button.setText(“重新获取验证码”);

    }

}.start();

更多相关文章

  1. Android(安卓)viewpager嵌套viewpager滑动冲突的解决
  2. 高德地图 android api 实现自动定位
  3. 从源码剖析PopupWindow 兼容Android(安卓)6.0以上版本点击外部不
  4. App启动流程-源码分析
  5. AndroidStudio使用GreenDao的方法
  6. android EditText的setCompoundDrawables用法
  7. Android(安卓)微信分享icon黑边代码解决
  8. Android(安卓)消息机制学习
  9. Android---Android下嵌入式数据库SqlLite使用方法

随机推荐

  1. dex分包
  2. android的edittext默认不获得焦点
  3. Could not find method runProguard() fo
  4. android中基本的加密方法
  5. Android稳定性问题分析时获取手机状态的A
  6. android 实现圆形imageView,Circle image
  7. Android(安卓)P 各种ANR的时间
  8. 解决vlc-android播放http视频退出问题
  9. Android之判断是否安装某个应用
  10. Android源码下载以及编译自己的ROM