Android验证码倒计时功能实现
Android 里的验证码倒计时功能,说复杂不复杂,说简单也有点细节要注意。用 Android 自带的 CountDownTimer 就能轻松搞定,基本上两行代码就能跑起来,逻辑也清晰:每秒更新一下 UI,倒计时结束再恢复按钮状态,用户体验也不会差。
要是你写得多了,会发现老是复制那几行代码有点烦,而且 UI 逻辑分散不好维护。这时候就推荐你封一层,搞个 GetSmsUtils
工具类,把倒计时的时间、间隔、UI 更新全都抽出去,通过 回调接口 来界面逻辑,既灵活又干净。
比如你在 Activity
里点一下按钮就开始倒计时,按钮禁用、TextView 显示剩余秒数,结束后再恢复按钮功能。封装之后只要调用 startCountdown
,设置个 OnTimeUpdateListener
,其他的都不用操心。实用性还挺高的,尤其是你项目里多个页面都有验证码需求时。
如果你还想再扩展一下,比如加上网络求、错误提示、或者自动重试,其实也可以基于这个工具类继续优化。用起来比你每次写一堆匿名 CountDownTimer
要省事多了。
想了解更细的实现,可以去看看这篇文章里的代码实例 实现验证码倒计时功能,还有 CountDownTimer 的使用 也讲得挺清楚,配合起来用效果更好。
如果你也经常写表单、验证码登录那类功能,强烈建议你封装一套自己的验证码倒计时工具类,省时省力,团队协作时也不容易出 bug。
12.55MB
文件大小:
评论区