【问题标题】:overridePendingTransition not working in AndroidoverridePendingTransition 在 Android 中不起作用
【发布时间】:2024-04-17 07:50:02
【问题描述】:

以下代码对我不起作用。

finish();
overridePendingTransition(R.anim.slide_up,R.anim.slide_up);
startActivity(intent);
overridePendingTransition(R.anim.slide_up,R.anim.slide_up);

动画的 XML 是

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="50%p" android:toXDelta="-50"
        android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
        android:duration="@android:integer/config_mediumAnimTime" />
</set>

我搜索了网络,查看了 Stack Overflow 中的所有线程,但无法解决此问题。

【问题讨论】:

    标签: android animation


    【解决方案1】:

    我通过以下方式解决了问题。

    我已经删除了

    overridePendingTransition(R.anim.slide_up,R.anim.slide_up);
    

    从上面的代码中,把它放在onPause(),它就像一个魅力。

    【讨论】:

      【解决方案2】:

      有时动画在手机上被禁用。要检查,请转到设置 > 显示 > 动画 > 允许“所有动画”。如果 overridePendingTransition 被禁用,这将允许它正常工作。

      【讨论】:

        【解决方案3】:

        如果您激活 USB 调试模式,它可以禁用转场效果。 进入开发者选项(激活调试模式的地方),找到用户界面部分,检查动画的过渡比例是否禁用了动画。如果是这样,请将其设置为 0.5 倍。完毕!

        【讨论】:

          【解决方案4】:

          在finish()之前尝试startActivity

          【讨论】:

          • 尝试删除 并只保留 alpha 变化。看看有没有显示