Intereting Posts
Eclipse использует старую переменную PATH для выполнения процесса командной строки в Gradle Task? Ошибка: идентификатор ресурса не найден для атрибута 'adSize' в пакете 'com.google.example' main.xml Неверный запросКод возвращен onActivityResult из другого действия TransformClassesAndResourcesWithProguardForRelease FAILED Android: Как заставить мягкую клавиатуру закрыть, когда она была вынуждена открыться? Как сравнить символы в двух CharSequences Тестирование GUI с помощью Instrumentation в Android Как установить параметры Интернета для эмулятора Android? LinearLayout achartengine Диаграмма не отображается в ScrollView Как печатать локальный часовой пояс в posix формате в java (android)? ViewSwitcher и высота макета в Android Допустимые значения для android: fontFamily и на что они направлены? Android HttpURLConnection: обрабатывать перенаправления HTTP Создание среднего элемента для застревания в заголовке (ScrollView / ListView) Как играть в эфир в прямом эфире .asx video / x-ms-asf?

Как узнать, запущена ли деятельность без перехода?

У меня есть прецедент, когда я в основном запускаю операцию с переходом, но это не тот случай, когда вы открываете ее из навигационного ящика.

Чтобы обеспечить плавный переход, у меня есть 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 или где-то, что я забыл. Я не хочу ретранслировать на вызывающую активность, чтобы установить некоторый пакет, который говорит, показывает ли анимация или нет.

Solutions Collecting From Web of "Как узнать, запущена ли деятельность без перехода?"

Вы можете попробовать onTransitionStart TransitionListener установить несколько логических isAnimationStarted .

 public class SomeActivity extends Activity { private boolean isAnimationStarted = false; 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(); } @Override public void onTransitionStarted(Transition transition) { isAnimationStarted = true; } }); } } public void onStart() { if (!isAnimationStarted) { doSomeUiUpdating(); } } }