ActivityOptionsCompat.makeSceneTransitionAnimation(activity2, sharedElementView, sharedElementName);
两个视图并不相同,我希望新活动从第一个视图扩展。当前使用默认过渡或
ChangeBounds
您应该提供更多代码,changebounds()仅负责更改视图的大小和位置。如果您只想使原始视图更大,则可以确保它占用整个屏幕及其过渡名称是相同的
<ImageView
android:id="@+id/shared_element_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:transitionName="@string/shared_element_name"
android:scaleType="centerCrop"
android:src="@drawable/example_image" />
View sharedElementView = findViewById(R.id.shared_element_view);
TransitionSet transitionSet = new TransitionSet()
.addTransition(new ChangeBounds())
.addTransition(new ChangeTransform())
.addTransition(new ChangeClipBounds());
transitionSet.setDuration(500); //set transition duration
getWindow().setSharedElementEnterTransition(transitionSet);
getWindow().setSharedElementReturnTransition(transitionSet);
如果您想设置比例
sharedElementView.setScaleX(0.5f);
sharedElementView.setScaleY(0.5f);