效果说明图:
1、先在需要转场动画的view上面声明他的转场名称transitionName:(目标view也要加这个transitionName)
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:transitionName="share" />
2、然后在跳转界面前用startActivity(Intent intent, Bundle options)这种跳转方式:
final View image = findViewById(R.id.image);
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Intent intent = new Intent(MainActivity.this, MainActivity2.class);
final ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(MainActivity.this, image, "share");
MainActivity.this.startActivity(intent, optionsCompat.toBundle());
}
});
完成。
参考:https://blog.csdn.net/u011106915/article/details/77576409
另外个人实测可以不是同一种类型view的切换,比如可以从TextView切换成FrameLayout,只因背景是相同的,效果图如下: