共享内容转换为 header 视图 (Android)

Shared content transition to header view (Android)

我有以下问题:

我已经定义了两个活动之间的共享元素转换。在第一个 activity 中,我使用以下代码启动第二个 activity:

ActivityOptionsCompat options =ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), view.findViewById(R.id.user_picture), transitionName);
ActivityCompat.startActivity(getActivity(), i, options.toBundle());

在第二个 activity 中,我有一个 android:transitionName 的视图,它与 transitionName 变量相同,如果此视图位于 xml设置为 activity 内容的文件。但是,当此视图在第二个 activity:

的 onCreate 中作为列表的 header 的一部分膨胀时
mListView = (ExpandableListView) findViewById(R.id.user_details_list);
//inflate the header
mHeader = getLayoutInflater().inflate(R.layout.header_user_details, mListView, false);
mListView.addHeaderView(mHeader);

进入转换似乎找不到具有相同转换名称的视图,并且不起作用。但是,exist transition 似乎确实找到了这个视图并且显示正常。 有什么方法可以膨胀 header 以便进入转换可以找到共享元素吗?

好的,我已经解决了。只需在第二个 activity 上使用 sharedElementCallback,然后在 onMapSharedElements 方法上,手动找到您的视图并将其映射到正确的 transitionName。