我有2个过渡活动。如果我不旋转手机,从A打开B并返回时,一切正常。
但是如果我旋转手机,我从B按回来时会得到这个:
正如你所看到的(下载gif并逐帧查看):
这是在Nexus 5X上发生的,但在三星Galaxy Note 5上它运行良好。如果我禁用共享元素转换,一切正常。
我在这里可以缺少什么?以下是用于启动B的代码:
View toolBar = findViewById(R.id.toolbar);
List<Pair<View, String>> pairs = new ArrayList<>();
pairs.add(Pair.create(statusBar, Window.STATUS_BAR_BACKGROUND_TRANSITION_NAME));
pairs.add(Pair.create(toolBar, toolBar.getTransitionName()));
pairs.add(Pair.create((View)viewerFragment.getImageView(), viewerFragment.getImageView().getTransitionName()));
//noinspection unchecked
Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(CaptureDetailsActivity.this, pairs.toArray(new Pair[pairs.size()])).toBundle();
Intent intent = new Intent(this, LocalViewerActivity.class);
[...]
ActivityCompat.startActivityForResult(this, intent, REQUEST_LOCAL_VIEWER_ACTIVITY, bundle);