Intereting Posts
Хранилище Google Play, такое как интерфейс, с использованием вида recycler Android Firebase Query Как локализовать приложение Android на индонезийском языке Невозможно заставить MPEG-DASH работать с использованием андроида-образца Как указать различные макеты для портретной и альбомной ориентации? Как настроить PagerTabStrip Как я могу получить приложение камеры для съемки со звуком моего голоса? Кордова 2.1.0 (PhoneGap) создает скрипт для Android, который говорит, что «Проект уже существует» или «Произошла ошибка. Удаление проекта " Ошибка приложения при попытке скрыть строку заголовка Вертикальный TextView в Android Запрос суммы в sqlite в android Как читать / отправлять данные с помощью гнезда гарнитуры Android Devices 3,5 мм? Android Studio измените ключевые клавиши KeyBoard Блокировать входящий вызов без звонка даже для доли второго андроида Возможно ли иметь поддержку APK в зависимости от страны?

Переход анимации между действиями с использованием FLAG_ACTIVITY_CLEAR_TOP

В моем приложении для Android я создаю метод, который выдает все действия и выдает первое действие.

Я использую этот код:

Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); this.startActivity(intent); 

Поскольку я заметил, что переход был все еще анимацией слева направо, кто-то знает, есть ли способ изменить системную анимацию при запуске?

На самом деле, я бы идеально хотел, чтобы переход справа налево (например, при нажатии кнопки возврата)

Спасибо за помощь!

CoolMcGrr прав, вы хотите использовать overridePendingTransition(int enterAnim, int exitAnim) .

Чтобы получить стандартный переход «назад», я использую их как переход enterAnim и exitAnim :

push_right_in.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" /> </set> 

push_right_out.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" /> </set> 

Вы должны взглянуть на Activity.overridePendingTransition () .

Конечно, для этого требуется, чтобы вы запускали как минимум версию 2.0 SDK.

Я использовал этот код:

 overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

Вы можете увидеть эти примеры в GmailAnimation или LopeAnimations . Также вы можете увидеть больше в этом блоге .

Проблема возникает в наши дни, потому что pre-ICS и ICS имеют разные встроенные переходы активности. Это намного чище, чем определение вашей собственной анимации и независимого SDK:

 Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION); this.startActivity(intent); finish(); 

Это запустит активность (пока еще не видно) и воспроизвести переход «активность» к новому действию.