Анимация между Активностью с Android - PullRequest
2 голосов
/ 28 октября 2011

Мне нужно понять анимацию на Android.

Например, мое приложение запускается с действия с кнопкой внизу, когда пользователь нажимает на кнопку, я хочу, чтобы другое действие появлялось с анимацией изснизу вверх, и я хочу, чтобы кнопка стала «заголовком» этого второго действия.

Как мне этого добиться?

Спасибо

Даниэле

Спасибо DecodeGnome за ответ!Это работает!

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

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="0%p"
    android:fromYDelta="0%p"
    android:toXDelta="0"
    android:toYDelta="100%p"
    android:duration="300" />
 </set> 

, но это не работает (второйпараметр overridePendingTransition, для чего используется?).

Я пытаюсь вызвать новый overridePendingTransition в функции onStop ():

public void onStop(){
   super.onStop();
   overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);

}

Но когда я вызываю финишко второму занятию я все еще вижу анимацию по умолчанию (слева направо)!

Еще раз спасибо тем, кто мне поможет.

Ответы [ 2 ]

4 голосов
/ 28 октября 2011

1) Создайте папку с именем anim в папке res

2) Добавьте туда 2 новые анимации XML (например, anim_in.xml & anim_out.xml)

3) поместите эту строкукод в новых действиях onCreate:

overridePendingTransition (R.anim.anim_in, R.anim.anim_out);

Пример Anim_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromXDelta="0%p"
        android:fromYDelta="100%p"
        android:toXDelta="0"
        android:toYDelta="0%p"
        android:duration="300" />
</set> 

4) Поместите кнопку (заголовок) в верхней части макета второго упражнения.

0 голосов
/ 20 июня 2016

Используйте этот код:

     public void onBackPressed() {
        super.onBackPressed();   
        overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);
}
...