Как запустить приложение для Android (а не активность) снизу вверх?

Я использовал overridePendingTransition()уже, но он используется для открытия действия с данным переходом, а не приложения.

Более того, он работает только тогда, когда у вас есть намерение нажать на кнопку, он не будет работать, если вы используете overridePendingTransition() в onCreate()

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Intent i = new Intent(Main2Activity.this,MainActivity.class);
        startActivity(i);
        overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up);
    }

1 ответ

Перед setContentView используйте следующий код:

overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out);

и в финише () используйте следующий код:

@Override
    public void finish() {
        super.finish();
        overridePendingTransition(R.anim.fade_in, R.anim.slide_out_back_to_bottom);
    }

и создайте папку anim и поместите эти файлы:

slide_in_from_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="top">
    <translate
            android:duration="400"
            android:fromYDelta="100%p"
            android:toYDelta="0%p"
            >
    </translate>
    <alpha
            android:fromAlpha="0.8"
            android:toAlpha="1.0"
            android:duration="400"
            />
</set>

slide_out_back_to_bottom:

 <set xmlns:android="http://schemas.android.com/apk/res/android"
         android:zAdjustment="top">
        <translate
                android:duration="400"
                android:fromYDelta="0%p"
                android:toYDelta="100%p"
                >
        </translate>
        <alpha
                android:fromAlpha="1.0"
                android:toAlpha="0.8"
                android:duration="400"
                />
    </set>

fade_in:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="bottom">
    <alpha
            android:fromAlpha="0.0"
            android:toAlpha="1.0"
            android:duration="300"
            />
</set>

исчезать:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="bottom">
    <alpha
            android:fromAlpha="1.0"
            android:toAlpha="0.0"
            android:duration="200"
            />
</set>

Полная реализация может быть найдена здесь.

Другие вопросы по тегам