一、什么是共享元素
简单来说共享元素就是两个Activity中都拥有此元素,在第二个Activity中进行强调而展示一些的动画效果。例如圆按钮的漂移动画。图片的放大动画。
二、为什么使用共享元素
主要是因为在Android5.0以后google推出了 Material Design的设计风格,在Adnroid 5.0之后的api中也添加了很多关于这个风格的主题以及控件,也更推崇两个控件之间的自然的转场动画。使页面更加自然,炫丽。
三、效果展示
简书似乎好像不支持gif请打开查看效果:
http://note.youdao.com/noteshare?id=dcb19ac9c6b32e297c1441fa1bab821f
四、使用方法
1.在第一个Activity中的控件添加如下属性:
android:transitionName="button"
<ImageView
android:id="@+id/s2"
android:layout_width="match_parent"
android:layout_height="150dp"
android:background="#00ff00"
android:transitionName="image" />
2.在第二个Activity中同样添加这个属性:
注意:这个名字必须一致。
3.使用intnet跳转即可
startActivity(intent,
ActivityOptions.makeSceneTransitionAnimation(
MainActivity.this,
v,
"image").toBundle());
这里的image参数就是在android:transitionName配置的。这样我们便实现此功能。其实很简单。
这个属性应该还支持其他的一些控件,比如按钮button等,具体的效果应该也还有其他的效果,可以自行查阅官方api。