过渡不起作用

时间:2012-08-13 13:22:26

标签: java android transition

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 个答案:

答案 0 :(得分:1)

如果活动立即打开,可以有两种可能性... 1)要么是从运行/测试应用程序的设备或模拟器上的设置禁用动画,要么是2)动画的时间是也小/小意味着500毫秒,所以可能这就是为什么褪色效果看起来就像打开效果 但我认为第一点是你的主要问题。

是的,这也是Alex在他的回答中提到的那个点

overridePendingTransition()方法应该在startActivity()之后从相同的活动中调用,该活动主要与startActivity()方法相邻,而不是来自目标活动。