本文介绍了Android使用芬兰湾的科特林和RxJava 2。×实现短信验证码倒计时效果,分享给大家,具体如下:
场景:注册账号页面时,我们点击按钮发送验证码,在等待验证码时,界面会有倒计时提示,这此期间按钮不可点击。当倒计时结束时,按钮恢复。
实现代码
val计时器:TextView=findViewById (R.id.textView)//这里的定时器就是你要控制显示倒计时效果的TextView val mSubscription:订阅# 63;=null//订阅对象,用于取消订阅关系,防止内存泄露//开始倒计时,用RxJava2实现 私人乐趣计时器(){ val数=59 l TimeUnit.SECONDS Flowable.interval(0,1)//设置0延迟,每隔一秒发送一条数据 .onBackpressureBuffer()//加上背压策略 (数),//设置循环次数 . map{沿着→ ——//} .observeOn (AndroidSchedulers.mainThread())//操作UI主要在UI线程 .subscribe(对象:Subscriber{ 覆盖有趣onSubscribe (s:订阅# 63;){ 计时器。isEnabled=false//在发送数据的时候设置为不能点击 计时器。输入textColor=resources.getColor (Color.GRAY)//背景色设为灰色 mSubscription=年代 & # 63;.request (Long.MAX_VALUE)//设置请求事件的数量,重要,必须调用 } 覆盖有趣onNext(:长# 63;){ 计时器。文本=" ${沿着}年代后重发”//接受到一条就是会操作一次UI } 覆盖有趣onComplete () { 计时器。文本="点击重发” 计时器。isEnabled=true 计时器。输入textColor=Color.WHITE mSubscription& # 63; .cancel()//取消订阅,防止内存泄漏 } 覆盖有趣onError (t: throwable # 63;) { t # 63; .printStackTrace () } }) } >之前 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Android使用芬兰湾的科特林和RxJava 2。×实现短信验证码倒计时效果