overridePendingTransition Activity动画 的使用

此方法在startActivity()或者是finish()后调用,例如

startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(enterAnim, exitAnim)

overridePendingTransition有两个参数,第一个参数(enterAnim)是作用于SecondActivity 的进入屏幕可见区域效果,第二个参数(exitAnim)是作用于当前 Activity 离开屏幕可见区域效果

打开Activity

MainActivity点击按钮打开SecondActivity

startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(R.anim.slide_in_bottom, R.anim.slide_out_bottom);

或者下面的方式:

 override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.act_nutritioncalendar)overridePendingTransition(R.anim.dialog_top_in, R.anim.dialog_under_out_rili)}

关闭Activity

SecondActivity中有个按钮,点击关闭SecondActivity,打开上一个MainActivity

finish();
overridePendingTransition(R.anim.slide_in_bottom, R.anim.slide_out_bottom);

或者是下面方式

override fun finish() {super.finish()   //注意不要和下面的调换顺序overridePendingTransition(R.anim.dialog_under_in, R.anim.dialog_under_outt_rili)}

一定要注意注意::::动画的fromYDelta  toYdelta 要写对,不然有时效果很难出来

<set xmlns:android=""><translateandroid:fromYDelta="100%"android:toYDelta="0"android:duration="3000"/>
</set>


————————————————
原文链接: