共享元素转换成RecyclerView中的视图,可能吗?

鉴于具有共享元素的Activity的正常棒棒糖转换,例如https://github.com/codepath/android_guides/wiki/Shared-Element-Activity-Transition ,通常是从View到Recycler View转换到一个目标活动的正常视图。

然而,如果有针对性的观点,也是在一个回收视图viewholder,有没有办法使这种可能(即提供有针对性的观点ActivityOptionsCompat)?

谢谢!

Solutions Collecting From Web of "共享元素转换成RecyclerView中的视图,可能吗?"

根据我的调查,这是不可能的。 在共享元素转换可以创build其animation之前,它必须首先捕获每个共享元素的开始和结束状态,即其在主叫和被叫活动/片段中的位置,大小和外观。 有了这些信息,转换可以确定每个共享元素视图应该如何animation到位。 (通过http://www.androiddesignpatterns.com/2015/01/activity-fragment-shared-element-transitions-in-depth-part3a.html

官方文件声明限制:

扩展AdapterView的类(如ListView)以与转换框架不兼容的方式pipe理其子视图。 如果您尝试基于AdapterView为视图设置animation,设备显示可能会挂起。

http://developer.android.com/training/transitions/overview.html#Limitations

这是完全有可能的。 这样做,你必须遵循这些步骤:

  1. 使用supportPostponeEnterTransition()推迟目标活动中的转换。
  2. 将适配器设置为RecyclerView。
  3. RecyclerView绘制项目后,开始推迟的过渡。

第3步通常适用于:

 recyclerview.post(new Runnable() { @Override public void run() { supportStartPostponedEnterTransition(); } });