0

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" />

淡出.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);    
}

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

4

1 回答 1

1

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

是的,这也是亚历克斯在回答中提到的一点

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

于 2012-08-13T13:28:00.993 回答