我正在为API级别为20+的设备进行场景转换。它工作正常,但我想设置自定义持续时间来进行转换。有可能??
我的代码:
ActivityOptionsCompat options =
ActivityOptionsCompat.makeSceneTransitionAnimation(this,
viewStart,
transitionName
);
ActivityCompat.startActivity(this, detailsIntent, options.toBundle());
答案 0 :(得分:8)
您可以在新的已启动活动中设置所需的持续时间,方法是添加:
ChangeBounds bounds = new ChangeBounds();
bounds.setDuration(2000);
getWindow().setSharedElementEnterTransition(bounds);
答案 1 :(得分:0)
请阅读赛义德先生的链接#5。或者您可以尝试使用java代码:
Window window = getWindow();
TransitionSet set = new TransitionSet();
set.addTransition(new ChangeImageTransform());
set.addTransition(new ChangeBounds());
set.setDuration(duration);
set.addListener(yourTransitionListener)
window.setSharedElementEnterTransition(set);
答案 2 :(得分:0)
这是 Kotlin 中的一个简单的单行代码,只需将其放在您正在启动的 Activity 的 onCreate()
中:window.sharedElementEnterTransition.duration = 300