все!У меня проблемы с RxJava2, чтобы установить список представлений и анимировать одно за другим (как только каждое представление заканчивает свою анимацию).
Я провел много исследований, и единственное, что близко к этому, это использование RxJava2оператор "andThen()
" с классом Completable
, который не является тем, что я ищу.
Моя основная идея - иметь:
Observable<List<View>> observable = Observable.fromArray(listOfViews);
и излучать одиночный View
для анимации, дождитесь окончания анимации и перейдите к следующей.
Вот пример того, чего я пытаюсь достичь: Пример анимации
Заранее спасибо!
ОБНОВЛЕНИЕ
Это не то решение, которое я ищу, но мне удается сделать одну версию, используя 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();