资源简介
Android获取短信验证码倒计时按钮的实现,在注册页面中经常使用。
代码片段和文件信息
package net.csdn.blog.ruancoder;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.CountDownTimer;
import android.util.AttributeSet;
import android.widget.Button;
/**
* 带倒计时的按钮
*/
public class CountDownTimerButton extends Button {
private Drawable mNormalBackground;
private Drawable mDisableBackground;
// 总倒计时时间
private static final long MILLIS_IN_FUTURE = 60 * 1000;
// 每次减去1秒
private static final long COUNT_DOWN_INTERVAL = 1000;
public CountDownTimerButton(Context context) {
this(context null);
}
public CountDownTimerButton(Context context AttributeSet attrs) {
this(context attrs 0);
}
public CountDownTimerButton(Context context AttributeSet attrs int defstyleAttr) {
super(context attrs defstyleAttr);
init(context attrs);
}
private void init(Context context AttributeSet attrs) {
TypedArray a = context.obtainstyledAttributes(attrs R.styleable.CountDownTimerButton);
mNormalBackground = a.getDrawable(R.styleable.CountDownTimerButton_normalBackground);// 默认背景
mDisableBackground = a.getDrawable(R.styleable.CountDownTimerButton_disableBackground);// 不可点击时的背景
setBackgroundDrawable(mNormalBackground);
}
// 启动倒计时
public void startCountDown() {
// 设置按钮为不可点击,并修改显示背景
setEnabled(false);
setBackgroundDrawable(mDisableBackground);
// 开始倒计时
new CountDownTimer(MILLIS_IN_FUTURE COUNT_DOWN_INTERVAL) {
@Override
public void onTick(long millisUntilFinished) {
// 刷新文字
setText(getContext().getString(R.string.reget_sms_code_countdown millisUntilFinished / COUNT_DOWN_INTERVAL));
}
@Override
public void onfinish() {
// 重置文字,并恢复按钮为可点击
setText(R.string.reget_sms_code);
setEnabled(true);
setBackgroundDrawable(mNormalBackground);
}
}.start();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 574 2016-07-09 00:39 CountDownTimer\app\build.gradle
文件 678 2016-07-08 23:32 CountDownTimer\app\proguard-rules.pro
文件 650 2016-07-09 00:36 CountDownTimer\app\src\main\AndroidManifest.xm
文件 2314 2016-07-09 00:50 CountDownTimer\app\src\main\java\net\csdn\blog\ruancoder\CountDownTimerButton.java
文件 698 2016-07-09 00:42 CountDownTimer\app\src\main\java\net\csdn\blog\ruancoder\MainActivity.java
文件 283 2016-07-09 00:24 CountDownTimer\app\src\main\res\drawable\get_sms_code_btn_selector.xm
文件 672 2015-12-14 19:29 CountDownTimer\app\src\main\res\drawable-xhdpi\get_sms_code_btn_disable.9.png
文件 672 2015-12-14 19:29 CountDownTimer\app\src\main\res\drawable-xhdpi\get_sms_code_btn_normal.9.png
文件 713 2015-12-14 19:29 CountDownTimer\app\src\main\res\drawable-xhdpi\get_sms_code_btn_pressed.9.png
文件 7718 2016-07-08 23:32 CountDownTimer\app\src\main\res\drawable-xhdpi\ic_launcher.png
文件 1929 2015-12-14 19:29 CountDownTimer\app\src\main\res\drawable-xhdpi\mobile_icon.png
文件 1803 2015-12-14 19:29 CountDownTimer\app\src\main\res\drawable-xhdpi\sms_code_icon.png
文件 3939 2016-07-09 00:44 CountDownTimer\app\src\main\res\layout\activity_main.xm
文件 279 2016-07-09 00:11 CountDownTimer\app\src\main\res\values\attrs.xm
文件 214 2016-07-08 23:32 CountDownTimer\app\src\main\res\values\colors.xm
文件 388 2016-07-09 00:39 CountDownTimer\app\src\main\res\values\strings.xm
文件 155 2016-07-09 00:36 CountDownTimer\app\src\main\res\values\st
文件 521 2016-07-08 23:32 CountDownTimer\build.gradle
文件 65212 2016-07-09 00:51 CountDownTimer\device.png
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\java\net\csdn\blog\ruancoder
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\java\net\csdn\blog
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\java\net\csdn
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\java\net
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\res\drawable
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\res\drawable-xhdpi
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\res\layout
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\res\values
目录 0 2016-07-08 23:41 CountDownTimer\app\src\main\res\values-w820dp
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\java
目录 0 2016-07-09 00:52 CountDownTimer\app\src\main\res
............此处省略8个文件信息
评论
共有 条评论