final int time = 10;
Observable.interval(0, 1, TimeUnit.SECONDS)//延迟时间是0,间隔时间是1,秒
.take(time + 1)//10秒
.map(new Function<Long, Long>() {
@Override
public Long apply(Long aLong) throws Exception {
//使用map操作符,从10开始倒数
return time - aLong;
}
})
.observeOn(AndroidSchedulers.mainThread())//在主线程中更新ui
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
//当开始倒计时的时候按钮不可以点击,并改变按钮的颜色和字体
button.setEnabled(false);
button.setTextColor(Color.parseColor("#be3131"));
button.setBackgroundColor(Color.parseColor("#f0f0f0"));
}
使用Rxjava实现按钮的倒计时
最新推荐文章于 2022-11-02 22:13:00 发布
本文详细介绍了如何利用RxJava在Android应用中实现按钮点击后的倒计时功能,包括设置初始时间、订阅、发射事件及取消订阅等关键步骤,帮助开发者提升用户体验。
摘要由CSDN通过智能技术生成