2017-01-30 2 views
0

Я пытаюсь создать эффект слайда для одной из моих приложений для Android-приложений, аналогично тому, как приложение Gmail создает Activity enter animation/transition, без выхода предыдущих действий анимация. Согласно моим исследованиям, существует два пути достижения этой цели:Представления переходят индивидуально/отдельно при использовании Переходов активности

  1. overridePendingTransition(R.anim.slide_in_bottom, R.anim.stay) после startActivity() в деятельности А и overridePendingTransition(R.anim.stay, R.anim.slide_out_bottom) после финиша() в деятельности Б. Проблема с этим подходом: Мне нужно установить для слушателей введите анимацию/переход в Activity B, чтобы выполнить дальнейшие анимации, и я делаю не хочу использовать какую-то угаданную задержку в onCreate(). Помимо этого, этот подход работает безупречно.

  2. Использование «нового» (не более того) Activity Transitions API для выполнения android.transition.Slide для обоих входов и выходов Activity B с установленным снизу краем слайда. Проблема с таким подходом: This При использовании этого подхода вводится странное разделение/индивидуальное переключение представлений. (Не вставляя любой код здесь, как это не нужно, я использую слайд из transitionSet в XML или конструктор по умолчанию в коде)

Так что мой вопрос, есть ли способ, чтобы иметь фактический слушатель для подхода 1 Я не знаю или есть способ устранить это странное разделение с подходом 2, и если да, то как?

ответ

0

Поместите взгляды, которые должны быть объединены в «Переходную группу».

+0

Собирайтесь попробовать! –

+0

В общем, я не знаю, как использовать фоновый рисунок состояния в TransitionGroup с содержимым Activity. Настройка isTransitionGroup на true на DecorView, похоже, не делает этого ... –

0

Вы можете создать слушатель для подхода № 1 с помощью Otto. В принципе, это шина событий, которая обеспечивает механизм, который вы можете использовать для связи с различными частями вашего приложения.

+0

Я не думаю, что стоит добавить, что много (на самом деле) избыточного раздувания/кода для приложения –

Смежные вопросы