I tried to change the visibility of the shared element (ImageView) in the transition listener. But the changes are applied only for a moment and then return to the original state.
In this case, I have a photo viewer activity that starts with an shared element transition animation and I want to make the shared element GONE
after the animation is over. Then add a photo view fragment instead.
window.getSharedElementEnterTransition().addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
if (!isBackPressed) {
image.setVisibility(View.GONE);
addMediaFragment(uri);
}
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
window.getSharedElementReturnTransition().addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
image.setVisibility(View.VISIBLE);
removeMediaFragment();
}
@Override
public void onTransitionEnd(Transition transition) {
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});