ActivityOptionsCompat.makeSceneTransitionAnimation с настраиваемой продолжительностью

Я делаю переход сцены для устройств с уровнем API 20+. Он работает нормально, но я хочу установить пользовательскую продолжительность перехода. Является ли это возможным ??

Мой код:

ActivityOptionsCompat options =

                ActivityOptionsCompat.makeSceneTransitionAnimation(this,
                        viewStart,
                        transitionName
                );

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

person Logic    schedule 01.03.2016    source источник


Ответы (3)


Вы можете установить желаемую продолжительность в новом запущенном действии, добавив:

    ChangeBounds bounds = new ChangeBounds();
    bounds.setDuration(2000);
    getWindow().setSharedElementEnterTransition(bounds);
person Victor    schedule 21.06.2016

Пожалуйста, прочтите № 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);
person Cuong Nguyen    schedule 08.03.2016

Вот простой однострочный код в Kotlin, просто поместите его в onCreate() действия, которое вы начинаете: window.sharedElementEnterTransition.duration = 300

person Michael P    schedule 20.04.2021