![Android安卓开发:设置activity切换时的动画效果(以左出右退效果为例)](https://img2024.cnblogs.com/blog/1975550/202401/1975550-20240127214921275-955706409.gif)
Android安卓开发:设置activity切换时的动画效果(以左出右退效果为例)
Android安卓开发:设置activity切换时的动画效果(以左出右退效果为例)
前言:
1. 我借鉴了网络上的代码
2. 我并没有深入了解,难免出错
效果:
![image](https://img2024.cnblogs.com/blog/1975550/202401/1975550-20240127214514091-1858085691.gif)
代码:
1.准备效果文件
在res文件夹下的anim目录中添加slide_in_right.xml、slide_in.xml、slide_out_left_exit.xml效果文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="400"
android:interpolator="@android:interpolator/decelerate_quad">
<translate
android:fromXDelta="100%"
android:toXDelta="0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="400"
android:interpolator="@android:interpolator/decelerate_quint">
<scale
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="100%"
android:pivotY="100%"
android:toXScale="1"
android:toYScale="1" />
<alpha
android:fromAlpha="1"
android:toAlpha="1" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="400"
android:interpolator="@android:interpolator/decelerate_quad">
<translate
android:fromXDelta="0"
android:toXDelta="100%" />
</set>
2.在Activity.java中重写onCreate和onPause方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_in);
}
@Override
protected void onPause() {
super.onPause();
overridePendingTransition(0, R.anim.slide_out_left_exit);
}