zoukankan      html  css  js  c++  java
  • 获取短信验证码之后按钮背景变化并且出现倒计时

     Button getVerCodeButton = (Button) findViewById(R.id.login_get_ver_code);
     private class VerCodeTimer extends CountDownTimer {
    
            private int seconds;
            private int interval;
            private int nowTime;
    
            //millisInFuture为你设置的此次倒计时的总时长,比如60秒就设置为60000
            //countDownInterval为你设置的时间间隔,比如一般为1秒,根据需要自定义。
            public VerCodeTimer(long millisInFuture, long countDownInterval) {
    
                super(millisInFuture, countDownInterval);
                seconds = (int) (millisInFuture / 1000);
                interval= (int) (countDownInterval/1000);
                nowTime=seconds;
            }
    
            //每过你规定的时间间隔做的操作
            @Override
            public void onTick(long millisUntilFinished) {
                nowTime-=interval;
                getVerCodeButton.setText(nowTime + "秒后重新获取");
            }
    
            //倒计时结束时做的操作↓↓
            @Override
            public void onFinish() {
                getVerCodeButton.setTextSize(10);
                getVerCodeButton.setText("重新获取验证码");
                getVerCodeButton.setClickable(true);
                getVerCodeButton.setBackgroundResource(R.drawable.login_get_ver_code_before_bg);
            }
        }

    使用的时候:

     getVerCodeButton.setTextSize(11);
     getVerCodeButton.setClickable(false);
     getVerCodeButton.setBackgroundResource(R.drawable.login_get_ver_code_ago_bg);
     mVerCodeTimer = new VerCodeTimer(10000, 1000);
     mVerCodeTimer.start();

    login_edit_normal_bg.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle"
        android:useLevel="false">
    
        <!-- 背景填充颜色值 -->
        <solid android:color="#6c948b" />
    
        <!-- radius值越大,越趋于圆形 -->
        <corners android:radius="10dip" />
    
        <!-- 圆角图像内部填充四周的大小 ,将会以此挤压内部布置的view -->
        <padding
            android:bottom="10dip"
            android:left="10dip"
            android:right="10dip"
            android:top="10dip" />
    
    </shape>

    login_edit_passed_bg.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle"
        android:useLevel="false">
    
        <!-- 背景填充颜色值 -->
        <solid android:color="#509989" />
    
        <!-- radius值越大,越趋于圆形 -->
        <corners android:radius="10dip" />
    
        <!-- 圆角图像内部填充四周的大小 ,将会以此挤压内部布置的view -->
        <padding
            android:bottom="10dip"
            android:left="10dip"
            android:right="10dip"
            android:top="10dip" />
    
    </shape>
  • 相关阅读:
    CentOS安装Maven
    多线程好文推荐
    [转]HashMap详解
    [转]Nginx介绍-反向代理、负载均衡
    数据库连接池内存泄漏问题的分析和解决方案
    RocketMQ文章
    [转]35张图就是为了让你深入AQS
    Jenkins总结1-部署jenkins
    理解SQLAlchemy的表继承关系(4)--高级应用
    理解SQLAlchemy的表继承关系(3)-Concrete Table Inheritance
  • 原文地址:https://www.cnblogs.com/zzw1994/p/5113439.html
Copyright © 2011-2022 走看看