更改Activity切换动画Android为我们提供了overridePendingTransition方法
overridePendingTransition(int enterAnim, int exitAnim)
- 必需紧挨着startActivity()或者finish()函数之后调用
- 第一个参数为启动时动画效果,第二个参数为退出时动画效果
ActivityAnimActivity.java
public class ActivityAnimActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_anim);
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_startActivity:
startActivity(new Intent(ActivityAnimActivity.this, SecendActivityAnimActivity.class));
//必需紧挨着startActivity()或者finish()函数之后调用
//第一个参数为启动时动画效果,第二个参数为退出时动画效果
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); //淡入
// overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);// 滑动
break;
case R.id.btn_startActivityNoAnim:
startActivity(new Intent(ActivityAnimActivity.this, NoAnimActivity.class));
break;
default:
break;
}
}
}
SecendActivityAnimActivity.java
public class SecendActivityAnimActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secend_anim);
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}
}
这样就可以看到覆盖了默认的动画. 变成了我们设定的动画.
取消Activity切换动画
如果不想要Activity切换的动画, 可以通过更改主题来实现
style文件中创建:
<style name="NoAnimTheme" parent="AppTheme">
<item name="android:windowAnimationStyle">@style/NoAnimStyle</item>
</style>
<style name="NoAnimStyle">
<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>
AndroidManifest.xml中<activity/>标签设置android:theme=”@style/NoAnimTheme”
就可以取消掉Activity切换时的动画
AndroidManifest.xml
<activity
android:name=".NoAnimActivity"
android:theme="@style/NoAnimTheme" />
源码参见: http://download.csdn.net/detail/maimiho/9660930
Android 动画总结-Activity切换动画 http://write.blog.csdn.net/mdeditor
Android 动画总结-Layout动画 http://blog.csdn.net/maimiho/article/details/52888887
Android 动画总结-帧动画 http://blog.csdn.net/maimiho/article/details/52893291
Android 动画总结-补间动画 http://blog.csdn.net/maimiho/article/details/52893403
Android 动画总结-属性动画 http://blog.csdn.net/maimiho/article/details/52894023
Android 动画总结-ViewPropertyAnimator http://blog.csdn.net/maimiho/article/details/52894151
Android 动画总结-矢量动画 http://blog.csdn.net/maimiho/article/details/52894266