2014-10-30 54 views
4

阿比21已添加了名为addSharedElement,看起来像它应该的API使用类似于活动过渡共享视图,请参阅:http://developer.android.com/reference/android/app/FragmentTransaction.html#addSharedElement(android.view.View,java.lang.String中))添加到FragmentTransaction中的addSharedElement api如何工作?

我试图通过设置使用此API android:transitionName,然后在FragmentTransaction上调用addSharedElement。在片段上,我打电话给setSharedElementEnterTransition(new ChangeImageTransform());

但是,这没有效果。

我在本月早些时候发布的棒棒糖预览版上运行了这个功能。

回答

3

api addSharedElement(view,name)将与具有transitionName名称的输入片段中的View在退出Fragment(它可以具有任何非空transitionName)中的View视图匹配。这允许您从离开片段和输入片段中获得不同的transitionNames。

这是一个常见的用例,当您有多个视图可以在Fragment中共享元素时。例如,您设备上的图像列表。当你点击一个,它将用一个具有详细视图或单个图像视图的新视图替换该片段。该列表将为每个图像提供该项目唯一的transitionName。例如,这可以是行标识或内容URI。在单图视图中,transitionName可以是常量。假设它是“largeImage”。你可以很容易地匹配他们:

fragmentTransaction.addSharedElement(imageIcon, "largeImage"); 
1

尝试使用由ChangeImageTransform和ChangeBounds组成的TransitionSet设置共享元素转换。

相关问题