棒棒糖活动与淡化共享元素过渡

问题描述 投票:5回答:1

我正在尝试进行简单的共享元素转换,其中单击的列表项的一行转换为结果活动的顶部标题视图。我希望顶部标题视图占据列表项的位置,使其自身淡入,然后变换到其最终位置。

这是我为被叫活动编写的简单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"使用的代码。

android android-transitions
1个回答
0
投票

同时调试Visibility类,我发现目标视图不是预期的,因此我强迫它对其进行测试,并且看起来可行。但是,我认为这不是一个好的解决方案,我会说这在TransitionSet中不起作用。

sharedElementEnterTransition = Fade(Visibility.MODE_IN).addTarget(your_view)
© www.soinside.com 2019 - 2024. All rights reserved.