我有两个活动:活动A和活动B.活动A包含一个视图层次结构,中心有一个圆形ImageView
,如下所示:
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/image_profile"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_weight="2"
android:transitionName="@string/transition_profile_image"/>
活动B是基本的FrameLayout
,其中包含一个具有相同ImageView
的矩形transitonName
。目标:当点击活动A中的CircleImageView
时,我想要转换为活动B中图像的扩展全屏视图。返回活动A应该可以逆转此转换。
我可以使用以下基本场景转换来实现转换:
profileImageView.setOnClickListener(view -> {
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this,
profileImageView, getString(R.string.transition_profile_image));
startActivity(ActivityB.getStartIntent(this, imageUrl),
options.toBundle());
});
使用此代码,活动B的矩形ImageView
覆盖在CircleImageView
之上,然后增长以填充屏幕。看起来圆圈闪烁成矩形。相反,图像的转换应该执行从圆形到矩形的某种变换动画。有谁熟悉如何实现这个目标?