API21(Android5.0)之前转场动画这么写:
Intent intent=new Intent(this,MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);
在API21之后,已经非常酷炫了,先说这个转场方式,makeSceneTransitionAnimation,写法很简单:
ActivityOptionsCompat compat =
ActivityOptionsCompat.makeSceneTransitionAnimation(this,
view, getString(R.string.transition));
ActivityCompat.startActivity(this, new Intent(this,
Activity2.class), compat.toBundle());
相信你已经看到了makeSceneTransitionAnimation方法,前两个参数不用说了,那第三个参数是什么?是这样的?因为要协作动画的两个view在不同的activity中,那我们怎么指定是哪两个view呢?这里android
给我们提供了一个新xml配置项android:transitionName用来指定哪些view进行转场,需要在你想要协作的View上加上该参数即可,既然是协作 肯定是两个Activity中的两个协作的View都要添加。即:
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:transitionName="@string/image" />
页面具体效果网上有。
特此记录。