问题描述
我试图更改过渡侦听器中共享元素(ImageView)的可见性。但是更改只应用了一会儿,然后返回到原始状态。
在这种情况下,我有一个照片查看器活动,该活动以共享元素过渡动画开始,并且我希望在动画结束后制作共享元素GONE
。然后改为添加照片查看片段。
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) {
}
});
解决方法
我建议您使用淡入淡出动画并添加到过渡中
Fade moreScene = new Fade();
moreScene.addTarget(R.id.activity_new_layout_img);
moreScene.setDuration(300);
moreTransitionSet.addTransition(moreScene);