Android去除系统自带动画的两种方法

方法一:
在startActivity()或者finish()后紧跟调用:
((Activity) mContext).overridePendingTransition(0, 0);

方法二:
在一些特殊情况下方法一是不能实现的.
比如给Intent设置了属性:
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

此时可以这么做:
1 在styles.xml下添加:

<style name="Theme" parent="android:Theme">
        <item name="android:windowAnimationStyle">@style/noAnimation</item>
	    <item name="android:windowNoTitle">true</item>
    </style>

    <style name="noAnimation">

        <item name="android:activityOpenEnterAnimation">@null</item>

        <item name="android:activityOpenExitAnimation">@null</item>

        <item name="android:activityCloseEnterAnimation">@null</item>

        <item name="android:activityCloseExitAnimation">@null</item>

        <item name="android:taskOpenEnterAnimation">@null</item>

        <item name="android:taskOpenExitAnimation">@null</item>

        <item name="android:taskCloseEnterAnimation">@null</item>

        <item name="android:taskCloseExitAnimation">@null</item>

        <item name="android:taskToFrontEnterAnimation">@null</item>

        <item name="android:taskToFrontExitAnimation">@null</item>

        <item name="android:taskToBackEnterAnimation">@null</item>

        <item name="android:taskToBackExitAnimation">@null</item>
        
    </style>


2 在AndroidManifest.xml中为跳出和跳入的Activity设置:

  android:theme="@style/Theme"


 

原文地址:https://www.cnblogs.com/riskyer/p/3241191.html