setWindowAnimations和overridePendingTransition之间的区别?

Sha*_*ake 3 android android-animation android-activity

有什么区别,

getWindow().setWindowAnimations()
Run Code Online (Sandbox Code Playgroud)

Activity.overridePendingTransition()
Run Code Online (Sandbox Code Playgroud)

似乎两者都具有相同的功能.

Pra*_*oir 9

当我们使用时

getWindow().setWindowAnimations(R.anim.start);
Run Code Online (Sandbox Code Playgroud)

然后这个动画在窗口打开时起作用,但是在这种类型的方法中我们不能添加窗口关闭动画.

但是使用

Activity.overridePendingTransition(R.anim.start,R.anim.end); 
Run Code Online (Sandbox Code Playgroud)

这个我们可以在窗口关闭时显示动画这个方法的第一个参数是开始动画而这个方法的第二个参数是结束animatin.

因此,上述方法之间的差异是overridePendingTransition()用于将开始和结束动画设置为活动.setWindowAnimations用于仅设置开始动画.