首先,我需要在Activity跳转没有动画,返回的时候也没有动画,排除fragment。在网上参考了其他的博客,都只是实现了跳转无动画,并没有实现返回无动画。
<item name="android:windowAnimationStyle">@style/noAnimation</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="Theme" parent="android:Theme"> <pre name="code" class="java"><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>
<activity android:name=".HomeActivity"
android:label="@string/app_name"
android:theme="@style/Theme">
经测试出现无动画,但返回还是有动画。
后通过查阅,可以通过overridePendingTransition(0,0);去控制。
代码如下:
在准备跳转后添加。
Intent intent = new Intent(getActivity(),SearchListActivity.class);
startActivity(intent);
getActivity().overridePendingTransition(0, 0);
在返回的当前Activity界面onPause方法中添加就可以了。
@Override
protected void onPause() {
overridePendingTransition(0,0);
super.onPause();
}
就可以实现跳转过去无动画,返回无动画了。
参考以下博客:
http://blog.csdn.net/joiningss/article/details/7057870
http://www.cnblogs.com/Jaylong/archive/2012/08/30/activity.html