【发布时间】:2018-06-08 03:31:49
【问题描述】:
大家!我在使用 RxJava2 设置视图列表并一个接一个地设置动画时遇到问题(一旦每个视图完成其动画)。
我做了很多研究,唯一接近使用 RxJava2 的方法是使用带有 Completable 类的“andThen()”运算符,这不是我想要的。
我的主要想法是:
Observable<List<View>> observable = Observable.fromArray(listOfViews);
并发出单个View 进行动画处理,等待动画完成并移动到下一个。
这是我想要实现的一个示例:Animation example
提前致谢!
更新
这不是我正在寻找的解决方案,但我设法使用delay 制作了一个版本,但想法是:等待动画完成然后移动到下一个onNext
到目前为止我的解决方案:
List<View> listOfViews = new ArrayList<>();
listOfViews.add(buttonOne);
listOfViews.add(buttonTwo);
listOfViews.add(buttonThree);
Observable
.fromIterable(listOfViews)
.concatMap(view -> Observable.just(view)
.delay(1000, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(item -> item.animate()
.scaleX(2)
.scaleY(2)
.setDuration(1000)
.start()))
.toList()
.subscribe();
【问题讨论】:
标签: android animation rx-java android-animation rx-java2