Android 9.0去除Activity跳转动画

这篇博客探讨了如何在Android系统层面统一界面跳转风格,由于无法控制第三方APP的动画,故需要通过修改系统代码来禁用Activity的过渡动画。在`WindowManagerService.java`中设置`config_disableTransitionAnimation`为true,可以阻止动画的执行,确保界面切换的一致性。此改动在`AppWindowToken.java`的`applyAnimationLocked`方法中生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有客户要求界面跳转风格要统一,第三方的APP无法控制,所以需要从系统层把Activity跳转动画禁用

frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

mDisableTransitionAnimation = context.getResources().getBoolean(
                com.android.internal.R.bool.config_disableTransitionAnimation);

 

frameworks/base/services/core/java/com/android/server/wm/AppWindowToken.java

boolean applyAnimationLocked(WindowManager.LayoutParams lp, int transit, boolean enter,
            boolean isVoiceInteraction) {

        if (mService.mDisableTransitionAnimation || !shouldAnimate(transit)) {
            if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) {
                Slog.v(TAG_WM, "applyAnimation: transition animation is disabled or skipped."
                        + " atoken=" + this);
            }
            cancelAnimation();
            return false;
        }
 

 

frameworks/base/core/res/res/values/config.xml

<bool name="config_disableTransitionAnimation">true</bool>
将属性值改为true,系统取消动画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值