Fixed
Status Update
Comments
ku...@google.com <ku...@google.com>
ku...@google.com <ku...@google.com> #2
Jeremy, is this still an issue? I think the problem was that you had two transitions targeting the same View for the same action (e.g. two Slide() transitions).
mm...@gmail.com <mm...@gmail.com> #3
I have a similar issue with plain AnimatorSet:
set.start()
set.pause()
set.setCurrentPlayTime(100)
set.setCurrentPlayTime(0)
set.setCurrentPlayTime(100)
set.resume()
doesn't play animation in resume().
ku...@google.com <ku...@google.com> #4
Should clarify that if I filter out setCurrentPlayTime(0)
(or replace it with setCurrentPlayTime(1)
) it works well.
Also even with setCurrentPlayTime(0)
, onAnimationEnd
is notified with correct delay (as if the animation has played).
an...@google.com <an...@google.com> #5
@
I think that is intended for Animator. If you set the currentPlayTime
to 0 or the total duration the animator completes. We do some
Description
'com.android.support:appcompat-v7:28.0.0'
'com.android.support:design:28.0.0'
Version used: 28.0.0
Theme used: Theme.AppCompat.Light.DarkActionBar
Devices/Android versions reproduced on: Nexus 6 running API 27
If we set a Propagation (Tested only for SidePropagation) on a support transition which has a start delay, then the propagation isn't respected when animating the views out (but is when animating the views in).This is in contrast to the native implementation of this feature, where it works correctly when animating in, or out with a start delay.
- Relevant code to trigger the issue.
//support transitions
android.support.transition.SidePropagation propagation = new android.support.transition.SidePropagation();
propagation.setSide(Gravity.END);
android.support.transition.Transition propagatedTransition = new android.support.transition.AutoTransition();
//Using a start delay causes the support version to not propagate the transition when animating out
propagatedTransition.setStartDelay(150);
propagatedTransition.setPropagation(propagation);
android.support.transition.TransitionManager.beginDelayedTransition(rootViewGroup, propagatedTransition);
toggleChildren(supportLayout);
- A screenrecord or screenshots showing the issue (if UI related).
Attached is a screen record of it. I've also attached a sample project. Simply tap the green (native - working) box to trigger the transition using the native Transition API, and the red (support - broken) box to trigger the transition using the support Transition API. You may want to make the transition longer and change the propagation speed to make it more obvious (e.g. 0.1f propagation speed)