延迟共享元素转换以完成无状态动画



我一直在尝试在棒棒糖上进行共享元素转换。我有一个回收视图,它加载了一些卡片,点击一下,卡片就会在下一个活动中扩展到它的详细信息。

我在卡片上设置了一个涟漪效果和一个StateListAnimator。但这些是不可见的,因为过渡在这些效果完成之前就开始了。

有没有办法推迟过渡,以便等待庄严主义动画师和涟漪完成?

这是我使用的代码

ActivityOptions options = null;
        if (Utilities.isLollipop()) {
            options = ActivityOptions.makeSceneTransitionAnimation(this, Pair.create(view, "hero_view"), Pair.create((View) fab, "fab"));
 startActivity(detailIntent, options.toBundle());
        }

提前感谢

我最终使用了一个变通方法,但我仍然想知道什么是正确的方法,因此这个问题悬而未决。

我所做的工作1.删除状态列表animator,并将其添加为onclick方法中的animator。2.使用处理程序向活动发布延迟呼叫

new Handler().postDelayed(new Runnable() {
                      @Override
                      public void run() {
                          Intent i=new Intent(SearxhJobs.this,JobsTypes.class);
                          startActivity(i);
                      }
                  }, 200);

第页。S-我最终删除了效果,因为它不是很直观。

可以帮助一些已经在第二个活动中设置了转换的人的方法:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().getSharedElementEnterTransition().setDuration(500);
    getWindow().getSharedElementReturnTransition().setDuration(500)
        .setInterpolator(new DecelerateInterpolator());
}

最新更新