Mat*_*ska 10 animation android android-animation android-fragments android-5.0-lollipop
我在一个属于一个Activity的片段中有一个共享元素.
我想在Android Lollipop中进行共享元素转换,其元素是属于另一个活动的片段的一部分.
可能吗?
我怎样才能做到这一点?
Tom*_*lec 10
这是可能的.
首先,当您在片段中检测到即将发生转换时,请构建一个Pair<View, String>
使用视图和转换名称填充的数组.
例如,如果要从缩略图图像设置为全宽图像:
Pair[] pairs = new Pair[1];
pairs[0] = new Pair(thumbnailImage, "THUMBNAIL_IMAGE");
Run Code Online (Sandbox Code Playgroud)
其次,将该数组传递给片段的活动,以便它可以启动实际的转换.(我正在使用Otto传递该事件,如果你愿意,你可以使用通常的回调).
然后,在您的活动中,启动第二个活动.(我创建了一个简单的方法)
public static void transitionExpand(Activity activity, Intent intent, Pair<View, String>[] sharedElements) {
ActivityOptionsCompat options =
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements);
ActivityCompat.startActivity(activity, intent, options.toBundle());
}
Run Code Online (Sandbox Code Playgroud)
在第二个活动中,您可以按常规方式添加片段.然后,在第二个片段的onViewCreated()
方法中,您可以调用:
ViewCompat.setTransitionName(fullWidthImage, "THUMBNAIL_IMAGE");
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
归档时间: |
|
查看次数: |
1909 次 |
最近记录: |