首页 > 解决方案 > 如何实现相同的转换?

问题描述

请帮忙,我正在尝试实现相同的转换。

1) https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F1tAlSW8Kp7JlXJNo16cv6RZqUl1iNsjen%2Fcards-transition.mp4

2) https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F1qIHOMquJE7flVh1ttDTSogXdvEX2lY_1%2F01-list-parentchild.mp4

但我不知道我该怎么做。

标签: androidmaterial-designtransition

解决方案


您需要将此参数放入第一个活动(xml)的图像视图中:

android:transitionName="your_transaction_name"

当您想打开其他活动时:

ImageView imageView = findViewById(R.id.your_image_id);

对对 = new Pair<>(imageView, ViewCompat.getTransitionName(imageView));

ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this, pair);

Intent intent = new Intent(this, YourOtherActivity.class);

ActivityCompat.startActivityForResult(this, intent, 0, transitionActivityOptions.toBundle());

在您的 OtherActivity 上添加相同的参数到您的 imageView:

android:transitionName="your_transaction_name"

注意:它仅适用于 android API > 21


推荐阅读