Material 设计父子导航过渡 recyclerview 条目到详细片段

Material Design parent-child navigational transition recyclerview entry to detail fragment

背景

我正在尝试实施 "parent-to-child" 导航 t运行 站点,特别是当您单击 Recyclerview 条目并且详细信息显示在全屏片段中时。像这样:

问题

我该如何使用这么多可用的动画 API 来完成这项工作? (TransitionManager.beginDelayedTransition、SharedT运行sition、setExitT运行sition 等)

我试过的

您应该在此处使用共享元素转换。将有 2 个共享元素:您的 RecyclerView 的项目背景和 TextView(例如)。您的 RecyclerView 的项目背景应该被拉伸(您需要使用 ChangeTransformChangeBounds 转换)到您的 SecondFragment 的背景,并且您的 TextView 应该移动到 SecondFragment 的标题。你应该为你的共享元素过渡使用动画:首先你应该提升你的 RecyclerView 的项目背景,然后你开始拉伸背景并移动你的标题,最后你应该将你的高度设置回正常。请注意,您的第一个片段始终应该可见,因此您应该为其设置退出持续时间:fragment1.setExitTransition(new Fade().setDuration(1).setStartDelay(<duration_of_transition>));

所以这里的主要目标是使用 SharedElement 转换。有一个非常好的 article 关于 SharedElement 片段到片段的转换。