我一直在尝试在棒棒糖上进行共享元素转换。我有一个回收视图,它加载了一些卡片,点击一下,卡片就会在下一个活动中扩展到它的详细信息。
我在卡片上设置了一个涟漪效果和一个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());
}