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"