美文网首页
Activity页面切换的动画

Activity页面切换的动画

作者: Wang_Mr | 来源:发表于2018-05-11 14:03 被阅读0次

    当手动调用finish发现动画没有生效

        @Override
        public void startActivity(Intent intent) {
            super.startActivity(intent);
    
            // activity切换动画
            // 参数一:新Activity进入的动画(最右侧进来)
            // 参数二:旧Activity退出的动画(最左侧出去)
            overridePendingTransition(R.anim.anim_slide_in_right, R.anim.anim_slide_out_left);
        }
    
    
        @Override
        public void startActivityForResult(Intent intent, int requestCode) {
            super.startActivityForResult(intent, requestCode);
    
            // activity切换动画
            overridePendingTransition(R.anim.anim_slide_in_right, R.anim.anim_slide_out_left);
        }
    
        @Override
        public void finish() {
            super.finish();
    
            // activity切换动画(上一个activity从左侧进入,销毁的activity往右出去)
            overridePendingTransition(R.anim.anim_slide_in_left, R.anim.anim_slide_out_right);
        }
    

    解决方法:自定义startActivity和finish的动画

        <style name="animation_translucent_translate" parent="@android:style/Animation.Translucent">
            <item name="android:activityOpenEnterAnimation">@anim/anim_slide_in_right</item>
            <item name="android:activityOpenExitAnimation">@anim/anim_slide_out_left</item>
            <item name="android:activityCloseEnterAnimation">@anim/anim_slide_in_left</item>
            <item name="android:activityCloseExitAnimation">@anim/anim_slide_out_right</item>
        </style>
    
    // 如果替换application的style则所有页面生效,替换activity的style则当前activity生效
    <item name="android:windowAnimationStyle">@style/activity_open_close_anim</item>
    

    相关文章

      网友评论

          本文标题:Activity页面切换的动画

          本文链接:https://www.haomeiwen.com/subject/eeefdftx.html