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);
}
它不起作用 - 活动不会滑动,它只是立即打开。怎么了?
答案 0 :(得分:1)
如果活动立即打开,可以有两种可能性... 1)要么是从运行/测试应用程序的设备或模拟器上的设置禁用动画,要么是2)动画的时间是也小/小意味着500毫秒,所以可能这就是为什么褪色效果看起来就像打开效果 但我认为第一点是你的主要问题。
是的,这也是Alex在他的回答中提到的那个点
overridePendingTransition()方法应该在startActivity()之后从相同的活动中调用,该活动主要与startActivity()方法相邻,而不是来自目标活动。