У меня есть прецедент, когда я в основном запускаю операцию с переходом, но это не тот случай, когда вы открываете ее из ящика навигации.
Чтобы сохранить переход гладким, у меня есть Transition.TransitionListener
, в котором я запускаю некоторое обновление пользовательского интерфейса при выполнении перехода.
Итак, у меня есть что-то вроде этого:
public class SomeActivity extends Activity {
public void onCreate(Bundle savedInstanceState){
// ...
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
Transition sharedElementEnterTransition = getWindow().getSharedElementEnterTransition();
sharedElementEnterTransition.addListener(new Transition.TransitionListener() {
// ...
@Override
public void onTransitionEnd(Transition transition) {
doSomeUiUpdating();
}
});
} else { // Pre-Lollipop
doSomeUiUpdating();
}
}
}
Это хорошо работает при запуске Activity с анимацией, но , как я могу узнать, запущена ли Activity без перехода, чтобы я мог вызвать doSomeUiUpdating()
?
Я уверен, что должен быть простой метод в Activity
, Window
, Transition
или где-то, что я упустил. Я не хочу ретранслировать на вызывающую активность, чтобы установить некоторый пакет, который сообщает, отображается ли анимация или нет.