在 Android 中,共享元素是一种美观而且流畅的转场动画效果,它可以在 Activity 之间共享和传递视图元素,提供无缝的用户体验。下面是使用共享元素进行转场动画的基本步骤:
android:transitionName="shared_element"
。ActivityOptionsCompat.makeSceneTransitionAnimation()
来实现。示例代码如下:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(ActivityA.this, sharedElementView, "shared_element");
startActivity(intent, options.toBundle());
View sharedElementView = findViewById(R.id.shared_element_view);
sharedElementView.setTransitionName("shared_element");
onCreate()
方法或者 onEnterAnimationComplete()
方法中添加以下代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Transition transition = TransitionInflater.from(this).inflateTransition(android.R.transition.move);
getWindow().setSharedElementEnterTransition(transition);
}
onBackPressed()
方法中执行返回操作。请注意,共享元素只能在支持共享元素转场的 Android 版本上使用(Android 5.0 及以上版本),并且需要将 AppCompat 库或者 androidx.appcompat 库添加到项目的依赖中。