使用特定Android版本的默认startActivity()和onBackPressed()动画



有没有办法使用特定Android版本的默认startActivity()onBackPressed()动画?

不同版本的Android默认动画略有不同,我希望在所有版本中保持一致。

例如,API 31的默认startActivity()动画从屏幕中央弹出活动,onBackPressed()将其向下滑动并消失。如在API 33中一样,默认startActivity()动画从右向左滑入,onBackPressed()从左向右滑出。

试试这个

从API级别5开始,您可以立即调用overridePendingTransition来指定显式转换动画

startActivity();
overridePendingTransition(R.anim.fadein, R.anim.fadeout);

res/anim/fade_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<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" />
</set>

res/anim/fade_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/anticipate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />
</set>

最新更新