共享元素从圆形ImageView过渡到矩形ImageView

时间:2017-07-15 04:12:17

标签: android animation android-activity android-imageview shared-element-transition

我有两个活动:活动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之上,然后增长以填充屏幕。看起来圆圈闪烁成矩形。相反,图像的转换应该执行从圆形到矩形的某种变换动画。有谁熟悉如何实现这个目标?

0 个答案:

没有答案