我将尝试做一个简单的共享元素转换,其中被点击的列表项的一行过渡到结果活动的顶部标题视图。我希望顶部标题视图占据列表项的位置,淡入,然后转换到最终位置。
以下是我为被调用活动编写的简单sharedElementEnterTransition:
然而,
这是我启动活动的地方。
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<fade android:fadingMode="fade_out" />
<changeBounds />
<changeTransform />
<changeImageTransform />
</transitionSet>
然而,
fade
转换没有起到任何作用。我看到结果视图突然在原地弹出,然后变换到最终位置。这是我启动活动的地方。
view.setOnClickListener(view -> {
final Intent intent = new Intent(...);
view.setTransitionName("test");
final ActivityOptions options =
ActivityOptions.makeSceneTransitionAnimation(activity, view, "test");
startActivity(intent, options.toBundle());
});
无法完全弄清楚正在发生什么。有人有任何想法吗?布局代码与 android:transitionName="test"
完全一致。
visibility
和alpha
,但没有成功。我不确定如何告诉转换框架设置目标视图的起始状态。 - Jin