Подтвердить что ты не робот

Перенос активности андроида 5 на нижней апи

Каждый раз, когда я нахожусь, я наткнулся на этот "переход" активности Android (5), доступный только на API >= 21.

но я вижу некоторые приложения вроде QuickPic и google inbox, которые используют аналогичный переход, а также работают на более низком api, так как это приложение может делать такое?

что я сделал?

1) много поиска:)

2), играя с ActivityOptionsCompat, который применяется только к api >= 21, например:

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, DATA.EXTRA_PASSED_JSON);
Intent intent = new Intent(activity, PhotoViewerActivity.class);
intent.putExtra(DATA.EXTRA_PASSED_JSON, json);
ActivityCompat.startActivity(activity, intent, options.toBundle());

EDIT (вопрос помечен как дубликат): он отличается от другого вопроса в этом случае, потому что я сказал, что есть другое приложение, которое делает этот переход в более низком api, и я хочу знать, как они это делают.

4b9b3361

Ответ 1

Мы добавили много вещей в Lollipop, чтобы сделать Activity Transitions работоспособными. Можно выполнять операции Переходы вручную (в более ранних версиях), но в некоторых случаях вы столкнетесь с проблемами, и переход возврата, скорее всего, будет работать только в простейшем случае. У Chet Haase есть devbyte на этом здесь.

Анимации между фрагментами были возможны раньше, хотя API не так прост в использовании, как в Lollipop Fragment Transitions.

Мы много думали о переходе на перенос предыдущих версий в библиотеке поддержки. Это может случиться. Если это так, мы также должны сделать что-то для переходов фрагментов.

Ответ 2

Как вы сами говорите, библиотека поддержки не поддерживает (все) переходы в версиях Android ниже 5.0. Однако есть несколько альтернатив:

Неофициальные библиотеки совместимости
https://github.com/andkulikov/transitions-everywhere
https://github.com/takahirom/PreLollipopTransition
https://github.com/lgvalle/Material-Animations

Android KitKat
http://www.doubleencore.com/2013/11/new-transitions-framework/ и образец, найденный в папке с образцами SDK.