Android使用芬兰湾的科特林和RxJava 2。×实现短信验证码倒计时效果

  

本文介绍了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。×实现短信验证码倒计时效果