Fadein.xml文件:

<?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />


Fadeout.xml

<?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />


当按下按钮时,主要活动类将开始新的活动:

Intent myIntent = new Intent(this, OtherActivity.class); this.startActivity(myIntent);

在OtherActivity类中:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(R.anim.fadein, R.anim.fadeout);
    setContentView(R.layout.view);
}


它不起作用-活动不会滑动,只是立即打开。怎么了?

最佳答案

如果活动只是立即打开,则有两种可能性... 1)是在您运行/测试您的应用程序的设备或仿真器上禁用了动画设置,还是2)动画时间也很小/ less意味着500毫秒,所以这就是为什么衰落效果似乎只是打开效果的原因
但我认为第一点是您的主要问题。

是的,这也是Alex Mention在回答中提到的重点

应该在大多数与startActivity()方法相邻的同一活动中,而不是从目标活动中,在startActivity()之后调用overridePendingTransition()方法。

关于java - 过渡无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11935117/

10-10 23:24