您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页Android 转场动画使用,所遇到的坑

Android 转场动画使用,所遇到的坑

来源:二三四教育网

大坑:finishAfterTransition(); 尽量避免使用

finishAfterTransition()会调用name=android:windowReturnTransition方法

会逆转当前activity的进入动画,并且触发逆转第一个activity的退出动画。
比如:第一个activity的退出动画是right,第二个activity的进入动画是bttom(从底部到头部)
那么:就会先逆转当前activity(第二个)的进入动画变为top(从头部到底部),然后在逆转第一个activity的退出动画变为left(从右到左)
如果MainActivity 和SplashActivity都设置了android:windowEnterTransitionitem android:windowExitTransition
进入和退出动画,会导致MainActivity 和SplashActivity 互相重复打开,陷入死循环

关于自动页(有大坑)

启动页设置转场动画,因为启动页只有启动退出,不存在重新返回,所以只需要设置

        <item name="android:windowContentTransitions">true</item>
        <!-- 进入当前页面时,前后两个页面动画是否同步执行?-->
        <item name="android:windowAllowEnterTransitionOverlap">true</item>
        <!-- 退出当前页面时,前后两个页面动画是否同步执行?-->
        <item name="android:windowAllowReturnTransitionOverlap">true</item>
        <item name="android:windowEnterTransition">@transition/fade</item>
        <!--<item name="android:windowExitTransition">@transition/fade</item>-->

但是设置了android:windowExitTransition退出动画后,在打开MainActivity并关闭自动页时,频繁崩溃报错

.view.ViewRootImpl.setPausedForTransition(boolean)' on a null object reference

初步判断是关闭自动页时导致的,所以在实际中,不设置启动页的关闭动画,直接在启动MainActivity后关闭启动页

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务