首先:看一个误区,很多博客都说明了需要在activtiy的主题设置name=”Android:windowContentTransitions”为true的属性才可以使用5.0的共享元素动画,
经过测试,当minsdkVersion设为21时,没有设置该属性的时候还是可以使用,使用方法:
1 创建ActivityOptions,设置需要共享的View和transitionName
设置ActivityOptions2 在另一个Activity中的xml文件中需要共享的View的transitionName属性设置为同一个transitionName
确定transitionName根据以上步骤在5.0上已经可以实现元素共享了,But。。。返回的时候还是要注意的使用:finishAfterTransition()代码(当minsdkVersion小于21时该代码会报错)。
当minsdkVersion设为小于21时,同样没有设置activity的windowContentTransitions属性,使用方法:
1 创建ActivityOptionsCompat,并设置共享的View和transitionName
改为ActivityOptionsCompat2 同上,但返回的时候不能用finishAfterTransition()了,因为该方法不存在了,只能直接finish
同样,minsdkVersion小于21时,在我的魅族MX5上面实现了元素共享。
以上纯属个人总结,如有问题,请指出,勿喷!
当需要在5.0以下的设备上实现元素共享就需要另外想办法了,github上有第三方库,请自行搜索。。。
网友评论