Анимация скольжения не работает должным образом с startActivity - PullRequest
0 голосов
/ 07 февраля 2020

Я использую анимационные переходы в своем приложении, чтобы создать впечатление боковых и всплывающих меню. У меня есть анимация переходов слева, справа, вверх и вниз. У меня только проблема с моей деятельностью, которая действует как всплывающее меню. Скользящая анимация из userHome в appStore работает по назначению, но анимация скольжения из appStore в userHome работает только тогда, когда fini sh () вызывается нажатием собственной кнопки возврата Android. При использовании реализованной мной кнопки «Назад», в которой вместо этого используется startActivity (), действие просто исчезает без анимации. Те же реализации работают для моих переходов влево / вправо, но не для моего слайда вниз. Любая помощь будет оценена! Я включил код для ключевых областей и примеры того, что работает.

appStore. java - работает только с fini sh ()

public void openBackward()
{
    Intent intent = new Intent(this, UserHome.class);
    startActivity(intent);
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_down);
}

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

userHome. java - полностью работает

public void openAppStore()
{
    Intent intent = new Intent(this, AppStore.class);
    startActivity(intent);
    overridePendingTransition(R.anim.slide_in_up, R.anim.no_anim);
}
public void openMyApps()
{
    Intent intent = new Intent(this, MyApps.class);
    startActivity(intent);
}
public void openMyMirrors()
{
    Intent intent = new Intent(this, MyMirrors.class);
    startActivity(intent);
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}
public void openMyAccount()
{
    Intent intent = new Intent(this, MyAccount.class);
    startActivity(intent);
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}

myAccount. java - полностью работает

public void openBackward()
{
    Intent intent = new Intent(this, UserHome.class);
    startActivity(intent);
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}

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

slide_down_out. xml - код анимации для рассматриваемого перехода

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0" android:toYDelta="100%p"
    android:duration="@android:integer/config_mediumAnimTime"/>
</set>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...