具有自定义持续时间的ActivityOptionsCompat.makeSceneTransitionAnimation

时间:2016-03-01 05:13:44

标签: android animation android-transitions shared-element-transition

我正在为API级别为20+的设备进行场景转换。它工作正常,但我想设置自定义持续时间来进行转换。有可能??

我的代码:

ActivityOptionsCompat options =

                ActivityOptionsCompat.makeSceneTransitionAnimation(this,
                        viewStart,
                        transitionName
                );

        ActivityCompat.startActivity(this, detailsIntent, options.toBundle());

3 个答案:

答案 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