установить setInAnimation и setOutAnimation при запуске деятельности - PullRequest
0 голосов
/ 13 февраля 2011

У меня следующая ситуация

TabActivity>group activiyt>(A->B->C)

Здесь A, B и C - действия. И мне грузится вот так

 setContentView(this,getLocalActivityManager().startActivity("zero",intent.addFlags(Intent.FLG_ACTIVITY_CLEAR_TOP)) .getDecorView());

Что мне нужно, чтобы установить анимацию (Слайд слева / справа), когда я меняю одно действие на другое?
В настоящее время я использовал следующую анимацию, после setContentView для нового вида

public static Animation inFromRightAnimation() {

        Animation inFromRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
        inFromRight.setDuration(ANIMATIION_DURATION);
        inFromRight.setInterpolator(new AccelerateInterpolator());
        return inFromRight;
    }  

но это только анимация для нового вида.
Мне нужно, как текущий ход влево, в то же время новый ход справа
Есть ли способ установить setInAnimation и setOutAnimation в startActivity, как view flipper?
Спасибо

1 Ответ

6 голосов
/ 13 февраля 2011

Вы можете сделать анимацию перехода между действиями.Вот пример для создания настраиваемого анимированного перехода через 5 секунд между экраном-заставкой (LaunchActivity) и экраном главного меню в игре:

            new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {

            /* Create an intent that will start the main activity. */
            Intent mainIntent = new Intent(LaunchActivity.this,
            MainMenuActivity.class);
            LaunchActivity.this.startActivity(mainIntent);

            /* Finish splash activity so user cant go back to it. */
           LaunchActivity.this.finish();

           /* Apply our splash exit (fade out) and main
           entry (fade in) animation transitions. */
           overridePendingTransition(R.anim.mainfadein,R.anim.splashfadeout);
            }
    }, 5000);

Здесь анимации определены в XML-файлах, но вы можете создатьони в коде, как вы уже это делаете.

Ваш XML-файл перевода, который должен быть сохранен в папке anim в res, может выглядеть так:

    <?xml version="1.0" encoding="utf-8"?>
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_interpolator">
    <translate 
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="1000" />
</set>

Он перемещает объектсправа на 100% ширины экрана влево ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...