Android — вернуться на главный экран

Я создал кнопку типа «возврат домой» в Android, используя код:

Intent i=new Intent(this, Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

Однако, когда Android переходит к действию Home, оно перемещается справа налево, создавая у пользователя впечатление, что было запущено новое действие. Затем пользователь ожидает, что при нажатии «назад» появится предыдущая активность, что, очевидно, не так.

Как я могу сказать андроиду скользить назад (то есть слева направо), чтобы переход действительно создавал видимость закрытия предыдущих действий?


person yydl    schedule 03.06.2011    source источник


Ответы (2)


Вы можете переопределить анимацию, вызвав overridePendingTransition() после startActivity().

Посмотрите это. пример из гугла.

Узнайте также, как создать анимационный ресурс.

person John Leehey    schedule 03.06.2011

Еще немного деталей (скопировано из моего ответа на этот вопрос):

Чтобы получить стандартный переход «кнопка назад», я использую их как значения enterAnim и exitAnim для overridePendingTransition(int enterAnim, int 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>
person E-Riz    schedule 27.06.2011