最近在做一个app的时候需要修改activity跳转动画
使用网上推荐的
<!-- 新的Activity启动时Enter动画 -->
<item name="android:activityOpenEnterAnimation">@anim/slide_left_in</item>
<!-- 新的Activity启动时原有Activity的Exit动画 -->
<item name="android:activityOpenExitAnimation">@anim/keep</item>
<!-- 新的Activity退出时原有ActivityEnter动画 -->
<item name="android:activityCloseEnterAnimation">@anim/keep</item>
<!-- 新的Activity退出时Exit动画 -->
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
仍然没有变化。
在查看了官方文档、StackOverflow之后
终于在下面这个博客找到解决办法
https://blog.csdn.net/jzj1993/article/details/39058549
我的程序的mainAcitivity被设定成了singleinstance
<activity
android:name=".activity.Main.MainActivity"
android:launchMode="singleInstance"
android:label="@string/app_name" />
去掉mainifest中的singleinstance或改成singletask就行了
singleinstance属性是指让activity在全局中具有唯一性,无论是其他应用调用这个activity或是本应用内部调用,都不会生成新的activity而调用原本在activity栈内已存在的此activity。所有跳转动画失效。
关于singletask、singletop、singleinstance的区别 参考https://blog.csdn.net/weixin_41337483/article/details/82155351