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" />
按下按钮时主 Activity 类启动新 Activity :
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);
}
它不起作用 - Activity 不会滑动,它只是立即打开。怎么了?
最佳答案
如果 Activity 立即打开,则可能有两种可能性... 1) 是从运行/测试应用程序的设备或模拟器上的设置禁用动画,或者 2) 动画的时间是也小/更少意味着 500 毫秒,所以可能这就是为什么褪色效果看起来就像只是打开效果 但我认为第一点是你的主要问题。
是的,这也是亚历克斯在回答中提到的要点
overridePendingTransition() 方法应该在 startActivity() 之后从与 startActivity() 方法相邻的同一个 Activity 中调用,而不是从目标 Activity 中调用。
关于java - 过渡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11935117/