Android: Flip Animation с использованием XML для анимации в Android - PullRequest
11 голосов
/ 20 декабря 2011

Для поиска в сети я обнаружил, что существует класс ViewFlipper, который дает анимацию просмотра Flip между двумя представлениями / Но для этого должно быть в том же Activity.Я также знаю, что анимация Flip не поддерживается для изменения активности.как сейчас, Android поддерживает только 2-мерную анимацию при изменении активности.

Я хочу, чтобы эффект был таким же, как при изменении активности.

Итак, есть ли подобное xml-анимация, которая дает эффект какFLIP View, поэтому я предоставляю это для изменения своей активности и получаю эффект «Такое переворачивание» для изменения «Активность».

Пожалуйста, предоставьте мне xml для анимации, которая дает анимацию типа «Флип», которая работает для изменения активности.1008 * Спасибо.

1 Ответ

44 голосов
/ 20 декабря 2011

Попробуйте это

overridePendingTransition(R.anim.grow_from_middle,R.anim.shrink_to_middle);

grow_from_middle.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/linear_interpolator"
        android:fromXScale="0.0"
        android:toXScale="1.0"
        android:fromYScale="0.7"
        android:toYScale="1.0"
        android:fillAfter="false"
        android:startOffset="200"
        android:duration="200" />
    <translate
        android:fromXDelta="50%"
        android:toXDelta="0"
        android:startOffset="200"
        android:duration="200"/>
</set>

shrink_to_middle.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/linear_interpolator"
        android:fromXScale="1.0"
        android:toXScale="0.0"
        android:fromYScale="1.0"
        android:toYScale="0.7"
        android:fillAfter="false"
        android:duration="200" />
    <translate
        android:fromXDelta="0"
        android:toXDelta="50%"
        android:duration="200"/>
</set>
...